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

看图:

在这里插入图片描述

在这里插入图片描述

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

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

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

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

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

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值