Android 中<xliff:g> 标签的使用

本文介绍了Android资源文件中xliff:g标签的使用方法及其属性。xliff是一种用于XML本地化数据交换的格式,文章通过示例展示了如何在strings.xml文件中利用此标签实现动态文本替换,并给出了具体的代码实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android 中<xliff:g> 标签的使用

前言:

今天再看官方demo的时候发现在res/values/string.xml中有一个包含<xliff:>这个标签:

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    
    <string name="title_connecting">connecting...</string>
    <string name="title_connected_to">connected to <xliff:g id="device_name">%1$s</xliff:g></string>
    <string name="title_not_connected">not connected</string>
    
</resources>

然后就好奇的在网上搜了一下,顺便分享一下。

<xliff:g>标签介绍:

xliff的全称是:XML Localization Interchange File Format,翻译过来是:XML本地化数据交换格式。

xliff属性:

  • id:可以随意命名
  • example:举例说明,可以省略
  • %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="app_name">demo</string>
    <string name="user">
        姓名:<xliff:g id="user_name">%1$9s\n</xliff:g>\n年纪:<xliff:g id="user_age">%2$09d</xliff:g>
    </string>
</resources>

ps:\n试了一下,也是可以用的可以换行。

使用xliff:g标签需要在resources中加入命名空间,然后在Android程序中使用

public final String getString(@StringRes int resId, Object... formatArgs)

@SuppressLint("StringFormatMatches") String user = getString(R.string.user, "Ervin",21);
Log.d(TAG, "onCreate: "+user);
输出结果:

result

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值