1. 程式人生 > >android plurals用法

android plurals用法

參考
android plurals用法

對一個給定的語言和數字來說,決定使用哪一個case的規則是很複雜的,所以android提供了方法getQuantityString(),它可以用來為你選擇合適的資源。

     節點:

      <resources>  必須的節點。必須為根節點。

      沒有屬性。

<plurals>

字串的集合,提供取決於某類事物個數的字串。包含一個或者多個<item>節點

      屬性:

name 字串. A name for the pair of strings.這個name將被作為resource ID。


一個複數或者單數字符串。它的值可以是對其他字串資源的一個引用。必須是 的子節點。必須知道不要撇號和引號。可以參考下面的例子。

屬性:

quantity:

關鍵字.這個值反應了什麼時候這個字元該被使用。正確的值,在括號裡面有不詳盡的例子:
Value

zero 當語言需要特別對待0時(就想阿拉伯)
one 當語言需要特別對待1(就像英語裡和其他語言裡的1;在russian,任何以1結尾但是不是以11結尾的也使用這種情況)
two 當語言需要特別對待1(例如Welsh的2,或者Slovenian的102)
few 當語言需要特別對待small(例如Czech的2,3,4;或者以2,3,4結尾但是不是12,13,14的Polisth)
many 當語言需要特別對待large(例如Maltese的11-99)
other 當語言沒有要求對特定資

例項:

 <plurals name="orange">
        <item quantity="one"> Have an orange</item>
        <item quantity="other">Have %d oranges</item>
    </plurals>
TesxtView tv= (TextView) findViewById(R.id.tv);    

String string= getResources().getQuantityString(R.plurals
.numberOfItems, 1, 1); tv.setText(string);

getQuantityString()方法的第一個引數是複數資源id,第二個引數選擇要使用的字串。第三個引數值為1時,按原樣使用該字串。當值不為1時,值放在%d所在的位置。如果在附屬自願中使用了一種格式化字串,必須始終總有至少三個引數。第二個引數可能會令人困惑,這個引數的唯一差別就是值為1和不為1.