HarmonyOS 鸿蒙Next: enable为false时会影响到组件backgroundColor的颜色

HarmonyOS 鸿蒙Next: enable为false时会影响到组件backgroundColor的颜色

@Entry @Component struct Index { @State aaa: boolean = true;

build() { Column() { Button(“按钮1”) .onClick(() => { this.aaa = !this.aaa; })

  Button("按钮2")
    .onClick(() => {
      console.log("tj test")
    })
    .enabled(this.aaa)
    .backgroundColor("#c3c3c3")
}

} }

开启enabled设为false创建账户这个button颜色会变浅,导致颜色不在是#c3c3c3


更多关于HarmonyOS 鸿蒙Next: enable为false时会影响到组件backgroundColor的颜色的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

可以参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-polymorphic-style-0000001815927528#ZH-CN_TOPIC_0000001815927528__statestyles 中的示例1部分,示例中展示使用stateStyles多态样式可以实现按钮颜色的改变。

enable=false的样式,是UX的标准规格,无法更改。

颜色差异变化enable=false时会为组件上透明度为0.6的#ffffff 颜色蒙版,如需要"#c3c3c3"颜色可设置enabled为false时颜色为"#696969"

或者如果想要自定义的enabled效果,可以用Text来实现按钮。

更多关于HarmonyOS 鸿蒙Next: enable为false时会影响到组件backgroundColor的颜色的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


是的,恭喜你发现了这个隐藏功能。

在HarmonyOS鸿蒙Next中,当组件的enable属性设置为false时,系统会自动将组件置为不可用状态,此时组件的backgroundColor可能会被系统默认的不可用状态样式覆盖或改变。这是为了在视觉上明确区分组件的可用与不可用状态,提供更好的用户体验。具体表现可能包括颜色变灰或透明度降低等。开发者可以通过自定义样式或状态管理来覆盖默认行为。

回到顶部