一、问题发现
有时候我们在写布局,有这么一个场景,例如注册页面:
我们需要将手机号码和验证码对齐,当然这种实现不会很难,可以直接通过设定宽度来满足需求。不过现在我想说的是另一种实现,就是通过给“验证码”加空格的形式,来使验证码的宽度和手机号码一样大。最简单的就是在字符串资源手动加空格:
<string name="text_telphone">手机号码:</string>
<string name="text_code">验证 码:</string>
但是这种手动加空格的方式,字符之间最多只能有一个空格,超过一个空格也只有一个空格的宽度。这时候就可以采用加Html空格符的形式解决这个问题,如下: (表格中的;为英文的;)
符号 | 含义 |
---|---|
 ; | 两个  ; 相当于一个字母宽度 |
 ; | 窄空格 宽度略小于  ; |
 ; | 两个  ; 相当于一个汉字宽度 |
 ; | 一个  ; 相当于一个汉字宽度 |
所以上面的实现可以改写为
<string name="text_telphone">手机号码:</string>
<string name="text_code">验证  ;码:</string>
其他的依次类推
二 、总结
在string.xml中
一个英文字母宽度 = 两个英文的特殊符号的宽度 = 一个中文的特殊符号的宽度
一个汉字宽度 = 两个英文字母的宽度 = 两个个中文的特殊符号的宽度