操作步骤:
1、使用以下代码:
Button('点我 ').onClick(() => {
let r1 = $r('app.color.same_chart_pie_red')
const key = 'app.color.same_chart_pie_red'
let r2 = $r(key)
console.log(`${r1.id}`);
console.log(`${r2.id}`);
})
2、使用当前项目的颜色key。
3、运行调试。
问题现象:
1、通过字符串作为参数可以正确拿到resource r1。
2、通过字符串常量或者变量作为参数拿不到正确的resource r2。
$r()是编译时处理,不支持程序运行时动态改变,运行时推荐使用ResourceManager对资源文件进行访问。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-localization-10-V5