string.xml中的<xliff:g>标签

<xliff:g>标签介绍:


<string name="appwidget_text_format"><xliff:g id="prefix">%1$s</xliff:g>: <xliff:g id="time">%2$s</xliff:g></string>


这个主要用于程序中,动态的插入内容时候使用,例如,
<string name="time">当前时间:<xliff:g id="prefix">%1$s</xliff:g>时 <xliff:g id="time">%2$s</xliff:g>分</string>
然后通过程序,context.getString(R.string.time,"10","05");
将会输出——当前时间:10时05分
 


属性id可以随便命名 
属性example表示举例说明,可以省略 
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 

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

感觉跟string.format里面的属性很像,具体的可以去看下这个方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 React Native 使用 Android 原生实现 NFC 功能,您需要进行以下步骤: 1. 在 Android 项目添加 NFC 权限和 Intent 过滤器。在 `AndroidManifest.xml` 文件添加以下代码: ```xml <uses-permission android:name="android.permission.NFC" /> <application ...> <activity ...> <intent-filter> <action android:name="android.nfc.action.NDEF_DISCOVERED" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="http" /> </intent-filter> <intent-filter> <action android:name="android.nfc.action.TECH_DISCOVERED" /> </intent-filter> <meta-data android:name="android.nfc.action.TECH_DISCOVERED" android:resource="@xml/nfc_tech_filter" /> </activity> </application> ``` 其,`nfc_tech_filter.xml` 文件可以指定要处理的 NFC 技术类型,例如: ```xml <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <tech-list> <tech>android.nfc.tech.Ndef</tech> <tech>android.nfc.tech.NdefFormatable</tech> </tech-list> </resources> ``` 2. 在 React Native 项目安装 `react-native-nfc-manager` 库: ``` npm install react-native-nfc-manager --save ``` 3. 在 React Native 项目导入 `NfcManager` 类,并编写代码: ```javascript import { NfcManager, NfcTech } from 'react-native-nfc-manager'; // 初始化 NFC 管理器 async function initNfc() { await NfcManager.start(); } // 读取 NFC 标签 async function readNfc() { try { // 检查是否支持 NFC 功能 await NfcManager.registerTagEvent(); // 等待卡片读取 const tag = await NfcManager.requestTechnology(NfcTech.Ndef); // 获取卡片数据 const payload = tag.ndefMessage[0].payload; // 转换为字符串 const data = payload.reduce((str, byte) => { return str + String.fromCharCode(byte); }, ''); console.log('NFC data:', data); } catch (error) { console.log('NFC error:', error); } finally { NfcManager.cancelTechnologyRequest().catch(() => {}); NfcManager.unregisterTagEvent().catch(() => {}); } } // 停止 NFC 管理器 async function deinitNfc() { await NfcManager.stop(); } // 在组件挂载时初始化 NFC 管理器 componentDidMount() { initNfc(); } // 在组件卸载时停止 NFC 管理器 componentWillUnmount() { deinitNfc(); } ``` 在上面的代码,我们使用了 `NfcManager` 类的 `start()`、`registerTagEvent()`、`requestTechnology()`、`cancelTechnologyRequest()`、`unregisterTagEvent()` 和 `stop()` 方法来实现 NFC 功能。其,`requestTechnology()` 方法可以用来等待卡片读取,并返回卡片数据。我们还使用了 `NfcTech` 类来指定要处理的 NFC 技术类型。 请注意,由于涉及到原生代码,因此在 Android 平台上需要进行额外的配置和权限获取,具体可以参考官方文档和 `react-native-nfc-manager` 库的文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值