在HarmonyOS Next中,可以通过配置不同的资源目录和编译条件来实现打包时选择不同的color资源文件。以下是具体实现方案:
- 资源目录结构建议:
resources/
├── base/
│ ├── element/
│ │ ├── color.json (基础颜色)
├── color1/
│ ├── element/
│ │ ├── color.json (方案1颜色)
├── color2/
│ ├── element/
│ │ ├── color.json (方案2颜色)
- 在build-profile.json5中配置资源引用:
"buildOption": {
"resourceFilter": [
{
"name": "colorTheme",
"value": ["color1"] // 默认使用color1方案
}
]
}
- 打包时通过命令行参数指定方案:
hvigor build --mode module -p "colorTheme=color2"
- 或者通过hvigor配置不同产品:
"products": [
{
"name": "product1",
"resourceFilter": {
"colorTheme": ["color1"]
}
},
{
"name": "product2",
"resourceFilter": {
"colorTheme": ["color2"]
}
}
]
注意:实际使用时颜色资源文件中的key要保持一致,只有value不同。这种方法避免了代码逻辑中的条件判断,完全通过构建系统控制资源选择。