Android 占位符 %1$s %1$d
來源:程序員人生 發(fā)布時間:2015-01-26 09:30:58 閱讀次數(shù):3808次
1、整型,比如“我今年23歲了”,這個23是整型的。在string.xml中可以這樣寫,<string name="old">我今年%1$d歲了</string>
在程序中,使用
-
String sAgeFormat = getResources().getString(R.string.old);
-
String sFinalAge = String.format(sAgeFormat, 23);
將%1$d替換為23;
%1$d表達(dá)的意思是全部name=”old”中,第1個整型的替換。如果1個name中有兩個需要替換的整型內(nèi)容,則第2個寫為:%2$d,以此類推;具體程序中替換見下面的string型;
2、string型,比如“我的名字叫李4,我來自首都北京”;這里的“李4”和“首都北京”都需要替換。
在string.xml中可以這樣寫,<string name="alert">我的名字叫%1$s,我來自%2$s</string>
在程序中:
-
view sourceprint?1 String sAgeFormatString sAgeFormat1= getResources().getString(R.string.alert);
-
-
String sFinal1 = String.format(sAgeFormat1, "李4","首都北京");
這里兩個string需要替換的,依照上面程序的順序順次對應(yīng)。
<xliff:g>標(biāo)簽介紹:
屬性id可以隨意命名
屬性值舉例說明
%n$ms:代表輸出的是字符串,n代表是第幾個參數(shù),設(shè)置m的值可以在輸出之前放置空格
%n$md:代表輸出的是整數(shù),n代表是第幾個參數(shù),設(shè)置m的值可以在輸出之前放置空格,也能夠設(shè)為0m,在輸出之前放置m個0
%n$mf:代表輸出的是浮點數(shù),n代表是第幾個參數(shù),設(shè)置m的值可以控制小數(shù)位數(shù),如m=2.2時,輸出格式為00.00
也可簡單寫成:
%d (表示整數(shù))
%f (表示浮點數(shù))
%s (表示字符串)
使用步驟舉例:
1.
<?xml version="1.0" encoding="utf⑻"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
2.
<string name="test_xliff">小紅今年<xliff:g id="xxx">%d</xliff:g>歲了,上<xliff:g id="yyy">%s</xliff:g>年級!</string>
3.
String test = String.format(getResources().getString(R.string.test_xliff), 7, "小學(xué)2");
輸出:
小紅今年7歲了,上小學(xué)2年級!
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈