openharmony 鸿蒙 js-apis-arkui-theme

2025-06-12 浏览 (1)

@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黑色中性高亮背景颜色。
compEmphasizeSecondaryResourceColor20%高亮背景颜色。
compEmphasizeTertiaryResourceColor10%高亮背景颜色。
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