網(wǎng)站無障礙建設(shè)規(guī)定北京seo優(yōu)化哪家公司好
【HarmonyOS】應(yīng)用引用media中的字符串資源如何拼接字符串
一、問題背景:
鴻蒙應(yīng)用中使用字符串資源加載,一般文本放置在resoutces-base-element-string.json字符串配置文件中。便于國際化的處理。當(dāng)然小項(xiàng)目一般直接引用字符串,不需要加載string.json的配置。
// 普通文本引用Text("測試文本字符串")// 配置文本引用Text($r("app.string.test_label"))
上面普通文本引用,拼接字符串很好處理:
: string = ""; tempNum: number = 99;// 普通文本引用Text("測試文本字符串" + this.tempString + this.tempNum)
tempString
但如果是配置文本引用,如何拼接字符串呢?
二、解決方案:
-
在xx.json文本配置文件中,對(duì)變量拼接內(nèi)容增加%d占位符來拼接,d代表數(shù)字,s代碼字符串。
如果有國際化需求,多個(gè)配置文件都需要修改:
-
在引用文本配置時(shí),第二個(gè)參數(shù)進(jìn)行占位符的賦值。
賦值過程和字符串拼接的占位符從左到右的順序一致
三、DEMO示例:
{ tempString: string = ""; tempNum: number = 99;build() {Column() {// 普通文本引用Text("測試文本字符串" + this.tempString + this.tempNum)// 配置文本引用Text($r("app.string.test_label"))Text($r("app.string.test_label", 10, 99,"test"))Text($r("app.string.test_label", this.tempNum, this.tempNum, this.tempString))}.height('100%').width('100%').justifyContent(FlexAlign.Center)}
}
struct TestPage
{"string": [{"name": "test_label","value": "價(jià)格是%d個(gè),你好%d位,哈哈哈哈%s"}]
}