HarmonyOS 鸿蒙Next 资源管理类-获取指定资源ID对应的颜色值
HarmonyOS 鸿蒙Next 资源管理类-获取指定资源ID对应的颜色值
@ohos.resourceManager (资源管理) 中的 getColorSync 并使用同步方式返回。
使用的canvas组件画图的时候,fillStyle和strokeStyle不接受Resource类型,就可以使用resourceManager把Resource类型转为string类型
import resourceManager from '[@ohos](/user/ohos).resourceManager';
import { BusinessError } from '[@ohos](/user/ohos).base';
@Entry
@Component
struct ResourcePage {
@State str: number = 0;
aboutToAppear(): void {
let resource: resourceManager.Resource = {
bundleName: "com...",
moduleName: "...",
id: $r('app.color.start_orange_lv1').id
};
try {
getContext(this).resourceManager.getColor(resource).then(value => {
this.str = value;
}).catch(error => {
console.error("getColor promise error is " + error);
});
} catch (error) {
let code = (error as BusinessError).code;
let message = (error as BusinessError).message;
console.error(`promise getColor failed, error code: ${code}, message: ${message}.`);
}
}
build() {
Text('文本').fontColor(`#${this.str.toString(16)}`) // 把十进制的str转为16进制,在前面加个#
}
}
// 使用同步方式返回
// let resource: resourceManager.Resource = {
// bundleName: "com...",
// moduleName: "...",
// id: $r('app.color.start_orange_lv1'.id
// };
// let testStr: number = getContext(this).resourceManager.getColorSync(resource)
//
// this.params.offContext2D.fillStyle = `#${testStr.toString(16)}`
更多关于HarmonyOS 鸿蒙Next 资源管理类-获取指定资源ID对应的颜色值的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS中,获取指定资源ID对应的颜色值可以通过ResourceManager
类实现。首先,确保在resources
目录下定义了颜色资源,例如在color.json
文件中:
{
"color": [
{
"name": "primary_color",
"value": "#FF6200EE"
}
]
}
在代码中,使用ResourceManager
获取颜色值:
import resourceManager from '@ohos.resourceManager';
// 获取ResourceManager实例
let resMgr = resourceManager.getResourceManager();
// 获取颜色资源ID
let colorId = $r('app.color.primary_color').id;
// 获取颜色值
resMgr.getColor(colorId).then(color => {
console.log('Color value:', color);
}).catch(error => {
console.error('Failed to get color:', error);
});
getColor
方法返回一个Promise
,解析后得到颜色值。确保资源ID正确,并处理可能的异常。
更多关于HarmonyOS 鸿蒙Next 资源管理类-获取指定资源ID对应的颜色值的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙)中,获取指定资源ID对应的颜色值可以通过ResourceManager
类实现。首先,使用getResourceManager()
方法获取ResourceManager
实例,然后调用getColor()
方法并传入资源ID即可获取颜色值。示例代码如下:
ResourceManager resourceManager = getResourceManager();
int color = resourceManager.getColor(ResourceTable.Color_my_color);
其中,ResourceTable.Color_my_color
是资源ID,color
即为获取的颜色值。