1.2K Star 6.6K Fork 5.9K

OpenHarmony/docs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
js-apis-arkui-theme.md 10.70 KB
一键复制 编辑 原始数据 按行查看 历史
openharmony_ci 提交于 2024-07-09 01:27 . !51054接口一致性整改

@ohos.arkui.Theme(主题换肤)

支持自定义主题风格,实现App组件风格跟随Theme切换。

说明:

本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import { Theme, ThemeControl, CustomColors, Colors, CustomTheme } from '@kit.ArkUI';

Theme

当前生效的主题风格对象,可从onWillApplyTheme中获取。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称 类型 可读 可写 说明
colors Colors 主题颜色资源。

Colors

主题颜色资源。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称 类型 可读 可写 说明
brand ResourceColor 品牌色。
warning ResourceColor 一级警示色。
alert ResourceColor 二级提示色。
confirm ResourceColor 确认色。
fontPrimary ResourceColor 一级文本字体颜色。
fontSecondary ResourceColor 二级文本字体颜色。
fontTertiary ResourceColor 三级文本字体颜色。
fontFourth ResourceColor 四级文本字体颜色。
fontEmphasize ResourceColor 高亮字体颜色。
fontOnPrimary ResourceColor 一级文本反转颜色,用于彩色背景。
fontOnSecondary ResourceColor 二级文本反转颜色,用于彩色背景。
fontOnTertiary ResourceColor 三级文本反转颜色,用于彩色背景。
fontOnFourth ResourceColor 四级文本反转颜色,用于彩色背景。
iconPrimary ResourceColor 一级图标颜色。
iconSecondary ResourceColor 二级图标颜色。
iconTertiary ResourceColor 三级图标颜色。
iconFourth ResourceColor 四级图标颜色。
iconEmphasize ResourceColor 高亮图标颜色。
iconSubEmphasize ResourceColor 高亮辅助图标颜色。
iconOnPrimary ResourceColor 一级图标反转颜色,用于彩色背景。
iconOnSecondary ResourceColor 二级图标反转颜色,用于彩色背景。
iconOnTertiary ResourceColor 三级图标反转颜色,用于彩色背景。
iconOnFourth ResourceColor 四级图标反转颜色,用于彩色背景。
backgroundPrimary ResourceColor 一级背景颜色(实色,不透明)。
backgroundSecondary ResourceColor 二级背景颜色(实色,不透明)。
backgroundTertiary ResourceColor 三级背景颜色(实色,不透明)。
backgroundFourth ResourceColor 四级背景颜色(实色,不透明)。
backgroundEmphasize ResourceColor 高亮背景颜色(实色,不透明)。
compForegroundPrimary ResourceColor 前背景。
compBackgroundPrimary ResourceColor 白色背景。
compBackgroundPrimaryTran ResourceColor 白色透明背景。
compBackgroundPrimaryContrary ResourceColor 常亮背景。
compBackgroundGray ResourceColor 灰色背景。
compBackgroundSecondary ResourceColor 二级背景。
compBackgroundTertiary ResourceColor 三级背景。
compBackgroundEmphasize ResourceColor 高亮背景。
compBackgroundNeutral ResourceColor 黑色中性高亮背景颜色。
compEmphasizeSecondary ResourceColor 20%高亮背景颜色。
compEmphasizeTertiary ResourceColor 10%高亮背景颜色。
compDivider ResourceColor 通用分割线颜色。
compCommonContrary ResourceColor 通用反转颜色。
compBackgroundFocus ResourceColor 获焦态背景颜色。
compFocusedPrimary ResourceColor 获焦态一级反转颜色。
compFocusedSecondary ResourceColor 获焦态二级反转颜色。
compFocusedTertiary ResourceColor 获焦态三级反转颜色。
interactiveHover ResourceColor 通用悬停交互式颜色。
interactivePressed ResourceColor 通用按压交互式颜色。
interactiveFocus ResourceColor 通用获焦交互式颜色。
interactiveActive ResourceColor 通用激活交互式颜色。
interactiveSelect ResourceColor 通用选择交互式颜色。
interactiveClick ResourceColor 通用点击交互式颜色。

CustomTheme

自定义主题风格对象。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称 类型 只读 可选 说明
colors CustomColors 自定义主题颜色资源。

CustomColors

type CustomColors = Partial<Colors>

自定义主题颜色资源类型。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

类型 说明
Partial<Colors> 自定义主题颜色资源类型。

ThemeControl

ThemeControl将自定义Theme应用于App组件内,实现App组件风格跟随Theme切换。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

setDefaultTheme

setDefaultTheme(theme: CustomTheme): void

将用户自定义Theme设置应用级默认主题,实现应用风格跟随Theme切换。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数名 类型 必填 说明
theme CustomTheme 表示设置的自定义主题风格

示例

import { CustomTheme, CustomColors, ThemeControl } from '@kit.ArkUI';
// 自定义主题颜色
class BlueColors implements CustomColors {
  fontPrimary = Color.White;
  backgroundPrimary = Color.Blue;
  brand = Color.Blue; //品牌色
}

class PageCustomTheme implements CustomTheme {
  colors?: CustomColors;

  constructor(colors: CustomColors) {
    this.colors = colors;
  }
}
// 创建实例
const BlueColorsTheme = new PageCustomTheme(new BlueColors());
// 在页面build之前执行ThemeControl.setDefaultTheme,设置App默认样式风格为BlueColorsTheme。
ThemeControl.setDefaultTheme(BlueColorsTheme);
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
其他
1
https://gitee.com/openharmony/docs.git
git@gitee.com:openharmony/docs.git
openharmony
docs
docs
master

搜索帮助