2016年2月10日 星期三

android中string.xml的格式化字符串

copy from :
http://www.cnblogs.com/GengZhonghua/archive/2013/05/30/3107370.html


例子自帶的snake源碼中:
1  < string name ="mode_lose" > Game Over\nScore: %1$d \nPress Up To Play </ string >
java代碼為:
1 str = res.getString(R.string.mode_lose, mScore);
其中mScore為int變量,輸出結果為
這裡%1$d 就是mScore的值。

  • <xliff:g>標籤介紹: 
xliff 英文全稱:XML Localization Interchange File Format 中文全稱:XML本地化數據交換格式
string.xml文件中動態的插入內容時候使用
android jar包string.xml中的一段:
1   < string name ="fileSizeSuffix" > 
2      < xliff:g id ="number" example ="123" > %1$s </ xliff:g > 
3      < xliff:g id ="unit" example ="KB" > %2$s </ xliff:g > 
4  </ string >
屬性id可以隨便命名
屬性example表示舉例說明,可以省略 
%n$ms:代表輸出的是字符串,n代表是第幾個參數,設置m的值可以在輸出之前放置空格 
%n$md:代表輸出的是整數,n代表是第幾個參數,設置m的值可以在輸出之前放置空格,也可以設為0m,在輸出之前放置m個0 
%n$mf:代表輸出的是浮點數,n代表是第幾個參數,設置m的值可以控制小數位數,如m=2.2時,輸出格式為00.00

  • 舉例
xml、java代碼如下:
< string name ="info" > My name is %1$s, age is %2$d </ string >
1 str = res.getString(R.string.info, "Jobs", 27);
效果如下: