相关问题
基于原生能力的跨应用跳转
745浏览 • 1回复 待解决
基于原生的水印添加能力
665浏览 • 1回复 待解决
基于原生能力的组件封装
365浏览 • 1回复 待解决
原生代码是不是只能基于HarmonyOS框架重新开发?
253浏览 • 1回复 待解决
基于原生能力的网络状态感知
439浏览 • 1回复 待解决
基于原生的跨模块资源访问
605浏览 • 1回复 待解决
应用内黑白主题的切换
249浏览 • 1回复 待解决
基于原生实现高级显示效果
531浏览 • 1回复 待解决
基于原生能力的网络加载性能分析
669浏览 • 1回复 待解决
基于ARKTS开发的应用可以实现流转功能吗?
3267浏览 • 1回复 待解决
HarmonyOS 应用多主题实现方案
274浏览 • 1回复 待解决
鸿蒙原生应用具备很好的开发条件了吗?
3529浏览 • 1回复 待解决
鸿蒙原生应用开发进展咋样了?
3952浏览 • 1回复 待解决
基于原生能力的设备唯一ID方案
671浏览 • 1回复 待解决
基于原生能力实现图文混排
386浏览 • 1回复 待解决
基于动态配置签名的多人协同开发应用签名解决方案
892浏览 • 1回复 待解决
基于低API开发的应用可以在高API设备上运行吗?
2912浏览 • 1回复 待解决
基于JS开发的鸿蒙应用卡片,点击卡片路由跳转怎么指定路由地址????
1848浏览 • 1回复 待解决
基于设置应用的应用权限、通知设置跳转
832浏览 • 1回复 待解决
APP应用有主题管理,黑色、白色、蓝色等主题,不同的主题下,字体和图标是不一样的,有什么思路能实现?
273浏览 • 1回复 待解决
HarmonyOS 原生应用的UI设计问题
303浏览 • 1回复 待解决
HarmonyOS 基于vpnExtension开发vpn相关的配置问题?
45浏览 • 0回复 待解决
基于华为智能手表开发应用程序如何获取各种传感器的数据?
4106浏览 • 1回复 待解决
服务卡片只能基于JAVA开发吗?
3307浏览 • 1回复 待解决
ArkTS开发中如何调用鸿蒙系统原生的加载动画?
2649浏览 • 1回复 待解决
场景一:设置应用自定义主题颜色
方案
CustomColors自定义主题颜色资源类型。
类型
说明
Partial< Colors >
自定义主题颜色资源类型。
方法一:
接口名
方法/属性名
是否必填
描述(说明默认值)
所属文件
ThemeControl
setDefaultTheme(theme: CustomTheme): void
是
将自定义Theme应用于APP组件,实现APP组件风格跟随Theme切换。Theme后续可扩展shape, typograph
@ohos.arkui.theme.d.ts
方法二:
案例代码
方案一:在ability中设置ThemeControl。
方法二:在页面入口处统一设置在此之前需要自定义颜色,CustomTheme接口用于自定义Theme。CustomTheme的属性是可选的,只需要复写需要的修改的部分,其余部分会继承自系统。
场景二:设置应用局部页面自定义主题和默认主题切换
将自定义Theme的配色通过设置WithTheme作用于内组件缺省样式,WithTheme作用域内组件配色跟随Theme的配色生效。
在下面示例中,通过WithTheme({ theme: this.myTheme })将作用域内的组件配色设置为自定义主题风格。后续可通过更改this.myTheme更换主题风格。
组件名
方法/属性名
是否必填
描述(说明默认值)
所属文件
WithTheme(options: WithThemeOptions)
WithThemeOptions? {theme?: CustomTheme // 自定义ThemecolorMode?: ColorMode // 深浅色模式}
是
WithThemeOptions为自定义Theme或指定的深浅色模式
with_them
效果
案例代码
其他常见问题
1. 场景一和场景二的区别在哪里?如代码所见,可以看到场景二的这块绘制页面代码都是被包在WithTheme之中的,所以场景二主要使用于页面内局部的主题颜色适配,而场景一是全局的。
2. 可以用Theme来设置页面局部深浅色吗?
可以通过WithTheme可以设置深浅色模式,ThemeColorMode.SYSTEM模式表示跟随系统模式,ThemeColorMode.LIGHT模式表示浅色模式,ThemeColorMode.DARK模式表示深色模式。
在WithTheme作用域内,组件的样式资源取值跟随指定的模式读取对应的深浅色模式系统和应用资源值,WithTheme作用域内的组件配色跟随指定的深浅模式生效。