管理中心
我的

您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明。

指南与API参考API参考应用框架ArkUI(方舟UI框架)ArkTS组件通用属性基础属性禁用反色能力

禁用反色能力

Phone21+PC/2in121+Tablet21+TV21+Wearable21+

设置组件是否使用反色能力,反色能力是在深浅色切换时自动对颜色值进行反色或变换,开发者可以通过主动设置不启用反色算法,以保持在深浅色切换时的原有逻辑。

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

  • 本模块接口仅可在Stage模型下使用。

allowForceDark

Phone21+PC/2in121+Tablet21+TV21+Wearable21+

allowForceDark(value: boolean): T

设置组件是否使用反色能力。

说明
  • 当组件主动设置不使用反色能力时,该组件及其所有子组件均不启用反色能力,不受父组件、祖先组件以及自身子组件的反色配置影响。

  • 该接口仅在开启了反色能力的情况下生效,开启反色能力可参考利用反色能力快速适配深色模式。

元服务API: 从API version 21开始,该接口支持在元服务中使用。

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

参数:

展开
参数名 类型 必填 说明
value boolean 是 组件是否使用反色能力。true:组件使用反色能力;false:组件不使用反色能力。

返回值:

展开
类型 说明
T 返回当前组件。

示例

// 组件添加allowForceDark(false)属性后,说明对当前组件不使用反色相关能力。
@Entry
@Component
struct ComponentPage {
  build() {
    Column() {
      Column() {
        Text("Hello World")
          .fontSize(20)
          .fontColor(Color.Blue)
          .onClick(() => {
            console.info(`Text is clicked`);
          })
      }
      .allowForceDark(false) // Column及其子组件Text不生效反色能力,不受父组件Column使用反色能力的影响。

      Row() {
        Button('BUTTON')
          .backgroundColor(Color.Grey)
          .allowForceDark(true)
          .onClick(() => {
            console.info(`Button is clicked`);
          })
      }
      .allowForceDark(false) // Row及其子组件Button不生效反色能力,不受父组件Column使用反色能力的影响。
    }
    .allowForceDark(true)
    .width('100%')
    .height('100%')
  }
}