1. 程式人生 > >android xml中轉義字元的使用

android xml中轉義字元的使用

如果一段文字需要多個TextView拼貼,比如:“我叫XXX,今年XX歲了,身高X.X米”;

可以考慮引用string.xml檔案中預定義的字串拼接實現.

例子:

1.在string.xml中先定義好格式

<string name="hello">String.xml字元轉義拼接: 我叫 %1$s,今年 %2$d歲了,身高 %3$f米。</string>

2.程式碼中這樣實現

       TextView tv=(TextView)findViewById(R.id.textView);

       String format = getResources().getString(R.string.hello);  

       String result= String.format(format , "Android" , 5 , 2.46 );//對應xml中定義的123順序

       Log.e("", result);

       tv.setText(result);

----------

輸出結果如下:

String.xml字元轉義拼接: 我叫 Android,今年 5歲了,身高 2.460000米.

--------------------------------------------------

特別注意:

在string.xml中無法直接寫成 %d,%s,%f 等這類格式化符號,必須在中間加個轉義符"$",而不是平時常用的轉義符"\"

---新增,網上找的---

如何在<string></string>中使用%號:

有兩個辦法可供選擇

1.用%%來表示1個%,和轉意符號 \ 的用法相同.(但我經我測試發現無效,編譯不報錯,但輸出結果是兩個%)

2.如果你的字串不需要格式化,可以在你的<string 標籤上增加一個屬性:formatted="false"例如 <string name="test" formatted="false">% test %</string> 即可.

--------------------------------------------------------------------------------------

另外附送一些搜到的特殊轉義符:

XML轉義字元 
以下為XML標誌符的數字和字串轉義符 
"     (&#34; 或 &quot;) 
'     (&#39; 或 &apos;) 
&     (&#38; 或 &amp;) 
lt(<) (&#60; 或 &lt;) 
gt(>) (&#62; 或 &gt;) 

下面的字元在 [XML]中被定義為 空白(whitespace)字元: 
空格 (&#x0020;) 
Tab (&#x0009;) 
回車 (&#x000D;) 
換行 (&#x000A;)

&amp; 或 &

&

&lt; 或 <

<

小於號

&gt; 或 >

>

大於號

&quot;

"

雙引號

&nbsp;

空格

&copy;

©

版權符

&reg

®

註冊符