string.xml中字符串通配

%1$s、%1$d的使用

s为字符串,d为整形。1表示替换的第一个参数,第二个则写为:%2$d/s。

string.xml中:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
 
  
 
Java代码中:
String text = getResources().getString(R.string.welcome_messages, username, mailCount);
 
 

<xliff:g>标签

属性值举例说明

%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 

%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 

%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00 

也可简单写成:

%d:表示整数

%f :表示浮点数

%s :表示字符串

string.xml中(要添加xliff的xmlns):
<?xml version="1.0" encoding="utf-8"?>
<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>

Java代码中:
String test = getResources().getString(R.string.test_xliff, 7, "小学二");

复数字符串(Quantity Strings

在英语里,数量1是个特殊情况,我们写成“1 book”,但其他任何数量都要写成“n books”。

Android提供了诸如getQuantityString()的方法来选择合适的资源,支持的全集包括zero、one、 two、few、many和other。

 

string.xml中:

<plurals name="numberOfSongsAvailable">
<item quantity="one">One song found.</item>
<item quantity="other">%d songs found.</item>
</plurals>

Java代码中:

int count = getNumberOfsongsAvailable(); 
String songsFound = getResources().getQuantityString(R.plurals.numberOfSongsAvailable, count, count);
对于字符串“%d songs found”,第一个count参数选择合适的复数字符串,第二个count参数插入占位符%d中。如果复数字符串资源不包含格式化信息,就不需要给getQuantityString()传递第三个参数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值