HarmonyOS color.json

如果 phone 工程下 colors.json 中有 定 theme_color,如

{
  "name": "theme_color",
  "value": "#29b475"
}

har 包中也有定义 theme_color

{
  "name": "theme_color",
  "value": "#000000"
}

但是 phone 工程下 和 har 包中的**theme_color** 值不一样, 页面展示的时候使用哪一个值是生效的

HarmonyOS
2024-12-23 16:15:04
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

phone工程同名优先级更高,如果不同模块下的资源文件出现重名冲突时,DevEco Studio会按照以下优先级进行覆盖(优先级由高到低):

AppScopeHAP包自身模块,依赖的HAR模块,如果依赖的多个HAR之间有资源冲突,会按照依赖顺序进行覆盖(依赖顺序在前的优先级较高)。

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/har-package-V5#资源

示例参考:

1、新建demo工程,entry/resources/base/element下的color.json文件添加

{
  "name": "theme_color",
  "value": "#FFFFFF"//白色
}
//index.ets:
@Entry
@Component
struct Splash {
  build() {
    Column() {
    }.backgroundColor($r('app.color.theme_color'))//判断整个页面背景色  主显示白; har显示黑色
    .height('100%')
    .width('100%')
  }
}

2、新建library.har

在har模块/resources/base/element下的color.json文件添加

{
  "name": "theme_color",
  "value": "#000000"//黑色
}

har模块引入:

1>在主模块的oh-package.json5 添加依赖

"dependencies": {
  "package": "file:../library"
}

2>安装har模块: ohpm install

此时仍然还是白色,优先级更高

去除主模块color.json下的theme_color,显示har的黑色

(判断是否成功导入har,在har的color.json添加个颜色,上述backgroundColor($r('app.color...'))//可以看到har资源

分享
微博
QQ
微信
回复
2024-12-23 18:22:02
相关问题
color.json文件中写注释报错如下
1782浏览 • 1回复 待解决
HarmonyOS bindPopup设置color无效
2181浏览 • 1回复 待解决
color使用color: 'rgba(0, 0, 255, .5)'不生效
3910浏览 • 1回复 待解决
HarmonyOS Color转ColorFilter方式?
1066浏览 • 1回复 待解决
HarmonyOS color argb工具类问题
1270浏览 • 1回复 待解决
HarmonyOS color文件不支持rgba吗
1116浏览 • 1回复 待解决
HarmonyOS color颜色怎么指定透明度?
2003浏览 • 1回复 待解决
动态修改style="background-color发现错误
3897浏览 • 1回复 待解决
鸿蒙int类型转为Color类型怎么转?
10430浏览 • 4回复 已解决
求助:devecostudio中的xml没有color preview
7176浏览 • 2回复 待解决
HarmonyOS json 解析
1078浏览 • 1回复 待解决
Color.Black如何转成对应的颜色编码
2995浏览 • 1回复 待解决
HarmonyOS json转换失败
856浏览 • 1回复 待解决