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標誌符的數字和字串轉義符
" (" 或 ")
' (' 或 ')
& (& 或 &)
lt(<) (< 或 <)
gt(>) (> 或 >)
下面的字元在 [XML]中被定義為 空白(whitespace)字元:
空格 ( )
Tab (	)
回車 (
)
換行 (
)
& 或 & |
& |
和 |
|||
< 或 < |
< |
小於號 |
|||
> 或 > |
> |
大於號 |
|||
" |
" |
雙引號 |
|||
|
空格 |
||||
© |
© |
版權符 |
|||
® |
® |
註冊符 |