更新Android Studio 3.0以后,使用textview.setText()的时候,发现as推荐用动态字符串。
%d 使用
<string name="count">小明%d岁了</string>
String.format(getResources().getString(R.string.count), 8)) 输出 “小明8岁了”
%d (表示整数)
%f (表示浮点数)
%s (表示字符串)使用方式和上面基本相同。
当参数为两个或多个时:
<string name="info">我的名字叫%1$s,我来自%2$s</string>
String info=getResources().getString(R.string.alert);
String.format(info, "小明","中国"); 输出“我的名字叫小明,我来自中国”
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00
综合使用
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="test_xliff">
小明<xliff:g id="xxx">%d</xliff:g>岁了,来自<xliff:g id="yyy">%s</xliff:g>!
</string>
</resources>
XLIFF外文全名是XML Localization Interchange File Format,中文名是XML本地化数据交换格式。使用<xliff:g>标签需要在resources中加入命名空间,然后在Android程序中使用。
String.format(getResources().getString(R.string.test_xliff), 8, "中国"); 输出“小明8岁了,来自中国”