解决问题
在Android布局中进行使用到空格,以便实现文字的对齐。那么在Android中如何表示一个空格呢?
 (空格:普通的英文半角空格但不换行)
 (窄空格:)
 (中文全角空格 (一个中文宽度))
 (半个中文宽度,但两个空格比一个中文略大)
 (一个中文宽度,但用起来会比中文字宽一点点)
所以完美空两个中文的写法为
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓  名" />
但如果我们在代码里赋值就不能这样写了
tv_name.setText("姓  名");
显示的并没有变成空格,没有转义。
我们应该这样写
tv_name.setText("姓\u3000\u3000名");
知识点1:半角与全角
在计算机屏幕上,一个汉字要占两个英文字符的位置,把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角"。在汉字输入时,系统提供"半角"和"全角"两种不同的输入状态,但是对于英文字母、符号和数字这些通用字符就不同于汉字,在半角状态它们被作为英文字符处理;而在全角状态,它们又可作为中文字符处理。如果处理不好就影响Android的xml布局上文字的对齐。
半角状态
全角状态
知识点2:unicode 的三种表现形式:&#、&#x、\u
Unicode一般指统一码。统一码,也叫万国码、单一码(Unicode)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。一般我们可以在网站上进行转化中文转unicode
image.png
那这三种形式很好理解:&#x 、\u后面跟的是是16进制的,&#、后面是10进制的, &#开头的运用在xml布局里,而\u开头的用在java代码或者string.xml里。
只要理解了这三种形式的关系,我们再碰到不会的字符就去网上搜索对应的unicode就可以自由运用了。