Android开发文字对齐问题
var code = "8efa132b-3050-45c0-bce8-20fda1c33400"
三种空格unicode(\u00A0,\u0020,\u3000)表示的区别
- 不间断空格
\u00A0
,主要用在office中,让一个单词在结尾处不会换行显示,快捷键ctrl+shift+space
; - 半角空格(英文符号)
\u0020
,代码中常用的; - 全角空格(中文符号)
\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 新增支持"字符串"前面追加、中间插入、尾部追加
。
🍎 结果
转载自:https://juejin.cn/post/7128302603431051278