openharmony 鸿蒙 js-apis-arkui-theme

2025-06-12 浏览 (2)

@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

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

Colors

主题颜色资源。

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

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

名称类型可读可写说明
brandResourceColor否否品牌色。
warningResourceColor否否一级警示色。
alertResourceColor否否二级提示色。
confirmResourceColor否否确认色。
fontPrimaryResourceColor否否一级文本字体颜色。
fontSecondaryResourceColor否否二级文本字体颜色。
fontTertiaryResourceColor否否三级文本字体颜色。
fontFourthResourceColor否否四级文本字体颜色。
fontEmphasizeResourceColor否否高亮字体颜色。
fontOnPrimaryResourceColor否否一级文本反转颜色,用于彩色背景。
fontOnSecondaryResourceColor否否二级文本反转颜色,用于彩色背景。
fontOnTertiaryResourceColor否否三级文本反转颜色,用于彩色背景。
fontOnFourthResourceColor否否四级文本反转颜色,用于彩色背景。
iconPrimaryResourceColor否否一级图标颜色。
iconSecondaryResourceColor否否二级图标颜色。
iconTertiaryResourceColor否否三级图标颜色。
iconFourthResourceColor否否四级图标颜色。
iconEmphasizeResourceColor否否高亮图标颜色。
iconSubEmphasizeResourceColor否否高亮辅助图标颜色。
iconOnPrimaryResourceColor否否一级图标反转颜色,用于彩色背景。
iconOnSecondaryResourceColor否否二级图标反转颜色,用于彩色背景。
iconOnTertiaryResourceColor否否三级图标反转颜色,用于彩色背景。
iconOnFourthResourceColor否否四级图标反转颜色,用于彩色背景。
backgroundPrimaryResourceColor否否一级背景颜色(实色,不透明)。
backgroundSecondaryResourceColor否否二级背景颜色(实色,不透明)。
backgroundTertiaryResourceColor否否三级背景颜色(实色,不透明)。
backgroundFourthResourceColor否否四级背景颜色(实色,不透明)。
backgroundEmphasizeResourceColor否否高亮背景颜色(实色,不透明)。
compForegroundPrimaryResourceColor否否前背景。
compBackgroundPrimaryResourceColor否否白色背景。
compBackgroundPrimaryTranResourceColor否否白色透明背景。
compBackgroundPrimaryContraryResourceColor否否常亮背景。
compBackgroundGrayResourceColor否否灰色背景。
compBackgroundSecondaryResourceColor否否二级背景。
compBackgroundTertiaryResourceColor否否三级背景。
compBackgroundEmphasizeResourceColor否否高亮背景。
compBackgroundNeutralResourceColor否否黑色中性高亮背景颜色。
compEmphasizeSecondaryResourceColor否否20%高亮背景颜色。
compEmphasizeTertiaryResourceColor否否10%高亮背景颜色。
compDividerResourceColor否否通用分割线颜色。
compCommonContraryResourceColor否否通用反转颜色。
compBackgroundFocusResourceColor否否获焦态背景颜色。
compFocusedPrimaryResourceColor否否获焦态一级反转颜色。
compFocusedSecondaryResourceColor否否获焦态二级反转颜色。
compFocusedTertiaryResourceColor否否获焦态三级反转颜色。
interactiveHoverResourceColor否否通用悬停交互式颜色。
interactivePressedResourceColor否否通用按压交互式颜色。
interactiveFocusResourceColor否否通用获焦交互式颜色。
interactiveActiveResourceColor否否通用激活交互式颜色。
interactiveSelectResourceColor否否通用选择交互式颜色。
interactiveClickResourceColor否否通用点击交互式颜色。

CustomTheme

自定义主题风格对象。

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

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

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

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

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

示例

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);

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkUI(方舟UI框架)

harmony 鸿蒙ARKUI_TextPickerCascadeRangeContent

harmony 鸿蒙ARKUI_TextPickerRangeContent

harmony 鸿蒙ArkUI_AnimateCompleteCallback

harmony 鸿蒙ArkUI_AttributeItem

harmony 鸿蒙ArkUI_ColorStop

harmony 鸿蒙ArkUI_ContextCallback

harmony 鸿蒙ArkUI_EventModule

harmony 鸿蒙ArkUI_ExpectedFrameRateRange

harmony 鸿蒙ArkUI_IntOffset

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/HancHJ