likes
comments
collection
share

Android开发文字对齐问题

作者站长头像
站长
· 阅读数 77

var code = "8efa132b-3050-45c0-bce8-20fda1c33400"

三种空格unicode(\u00A0,\u0020,\u3000)表示的区别

  1. 不间断空格\u00A0,主要用在office中,让一个单词在结尾处不会换行显示,快捷键ctrl+shift+space;
  2. 半角空格(英文符号)\u0020,代码中常用的;
  3. 全角空格(中文符号)\u3000,中文文章中使用;

Kotlin

/**
 * 中文空格(\u3000 和   效果相同)
 *
 * 1. 代码中动态添加中文空格, 使用 \u3000
 * 2. 布局中使用, 在 string.xml 中使用  
 *
 * 参考: https://blog.csdn.net/weixin_48419914/article/details/123464933
 */
fun appendSpace(text: String?, spaceCount: Int = 0): String {
    var s: String? = text
    if (s == null) s = ""
    var i = 0
    while (i < spaceCount) {
        s += String.format(Locale.getDefault(), format = "%s", "\u3000")
        i += 1
    }
    return s
}

fun String?.space(i: Int = 0) = appendSpace(this, spaceCount = i)

用例

例如: 苹果大西红柿差两个字, 可使用 "苹果".space(2) 变成"苹果 "进行字符串对齐。

✨ 当然如果是字符串中间加入空白中文字符的需求也可参照appendSpace方法就行修改。




新版

🌴 2022年10月19日 10:25:26 新增支持"字符串"前面追加、中间插入、尾部追加

🍎 结果

Android开发文字对齐问题

转载自:https://juejin.cn/post/7128302603431051278
评论
请登录