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.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值