Android中String.xml中空格转义字符不起作用

看图:

Android中String.xml中空格转义字符不起作用_第1张图片

Android中String.xml中空格转义字符不起作用_第2张图片

为了优化体验,需要将“日期”和上面的提示语言保持上下对齐—简单来说就是要在“日期”中间加一个空格.

上网一搜,千篇一律全都是空格转义字符— (别忘了分号)。然而改完之后,发现不管加了多少个 都不行,现象就是:“日期”中间多了一丁点的空格,而不是一个汉字宽度相当的空格。于是再找,下面才是王道:

    <string name="statistics_date_text">日\u3000期</string>

 
 
后来研究了下,找到了在String.xml使用 达不到空格效果的原因:

空格: (普通的英文半角空格但不换行)
窄空格: 
 (中文全角空格 (一个中文宽度))
 (半个中文宽度,但两个空格比一个中文略大)
 (一个中文宽度,但用起来会比中文字宽一点点)
\u3000\u3000(首行缩进)
\u3000(全角空格(中文符号))
\u0020(半角空格(英文符号))
…(省略号)

所以如果想要实现文字对齐,那么可以考虑下面的方案:

方案一:一个汉字宽度的空格: 
方案二:一个汉字宽度的空格:   【用两个空格(  )占一个汉字的宽度时,两个空格比一个汉字略窄,三个空格(   )比一个汉字略宽】;使用  ‒时候部分机型转译后不是空格,而是“-”;而且在不同机型有不同表现。
方案三:一个汉字宽度的空格:  【比一个中文略大】
方案四:一个汉字宽度的空格: 【比一个中文略大】
注意:以上方案是直接写在布局文件中,如果是写在strings.xml文件中,则需要使用\u3000、\u0020这一类的

 
 
详情可见:
Android布局中的空格以及占一个汉字宽度的空格,实现不同汉字字数对齐

你可能感兴趣的:(常见问题备录)