解決問題
在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
那這三種形式很好理解:&#x 、\u後面跟的是是16進制的,&#、後面是10進制的, &#開頭的運用在xml佈局裏,而\u開頭的用在java代碼或者string.xml裏。
只要理解了這三種形式的關係,我們再碰到不會的字符就去網上搜索對應的unicode就可以自由運用了。