HarmonyOS Toggle组件enable为false,组件selectedColor颜色变暗
点击Toggle组件根据接口的返回去改变Toggle的状态,封装了如下SwitchButton组件,将Toggle设置enable为false将点击事件设置在其父组件上,根据点击父组件调用接口并修改Toggle的状态,但是目前碰到一个问题,将Toggle设置enable为false后,Toggle的selectColor的颜色值会变暗和实际设置的值不一样,如何解决这个问题?
@Component
export struct SwitchButton {
@State selectedColor: ResourceColor = $r('app.string.switch_button_selected_color')
@State unselectedColor: ResourceColor = $r('app.string.switch_button_unselected_color')
@State pointRadius: number | Resource = $r('app.string.switch_button_point_radius')
@State pointColor: ResourceColor = $r('app.string.switch_button_point_color')
@State trackBorderRadius: number | Resource = $r('app.string.switch_button_track_border_radius')
@State sbWidth: Length = $r('app.string.switch_button_width')
@State sbHeight: Length = $r('app.string.switch_button_height')
@Prop isOn: boolean = false
action?: (isOn: boolean) => void
build() {
Stack() {
Toggle({ type: ToggleType.Switch, isOn: this.isOn })//TODO:设置的颜色值会变暗
.enabled(false)
.selectedColor(this.selectedColor)
.switchStyle({
pointRadius: this.pointRadius,
trackBorderRadius: this.trackBorderRadius,
pointColor: this.pointColor,
unselectedColor: this.unselectedColor,
})
.width(this.sbWidth)
.height(this.sbHeight)
}
.backgroundColor(Color.Transparent)
.onClick(() => {
this.action?.(this.isOn)
})
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS Toggle组件设备type为Switch时,滑槽颜色无法设置
811浏览 • 1回复 待解决
HarmonyOS Toggle组件关闭状态的颜色怎么设置?
1109浏览 • 1回复 待解决
HarmonyOS button组件enabled为false时,默认样式是什么?
1105浏览 • 1回复 待解决
HarmonyOS Toggle组件怎么拦截?
1370浏览 • 1回复 待解决
HarmonyOS Toggle组件onChange方法手动触发
1117浏览 • 1回复 待解决
HarmonyOS Toggle空间的勾颜色怎么修改?
1049浏览 • 1回复 待解决
HarmonyOS isFullScreen获取始终为false
913浏览 • 1回复 待解决
HarmonyOS toggle组件是否支持完全受控
1280浏览 • 0回复 待解决
Toggle组件,当为ToggleType.CheckBox时,形状是圆形的,如何改为圆角矩形?
1148浏览 • 1回复 待解决
Toggle组件为Switch样式的时候点击时 有个方形的背景如何去掉
1991浏览 • 1回复 待解决
控件设置了enable=false,不想让他默认变色(似乎是透明度变了)
1290浏览 • 1回复 待解决
HarmonyOS Toggle组件按钮手动切换后组件刷新问题
602浏览 • 1回复 待解决
List组件divider颜色显示透List组件颜色
816浏览 • 0回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS NEXT中设置子组件enabled属性为false时避免触发父组件点击事件?
614浏览 • 0回复 待解决
Span组件禁用控制(enable)、显隐控制(visibility)属性设置无效
2731浏览 • 1回复 待解决
HarmonyOS TextInput设置enabled=false时,字体颜色怎么设置
610浏览 • 1回复 待解决
控件enabled设置为false时,hover失效
3248浏览 • 1回复 待解决
HarmonyOS Toggle组件如何通过事件控制开关状态
657浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何为Toggle组件添加事件?
851浏览 • 1回复 待解决
HarmonyOS Image组件如何设置填充颜色
953浏览 • 1回复 待解决
HarmonyOS 批量修改子组件的颜色
646浏览 • 1回复 待解决
HarmonyOS Refresh组件需要一个enable属性来动态控制是否允许下拉
783浏览 • 1回复 待解决
HarmonyOS TextInput组件背景颜色如何跟随父组件显示
643浏览 • 1回复 待解决
XComponent组件如何设置背景颜色
3012浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建不包含子组件的Toggle?
592浏览 • 1回复 待解决
可以通过.hitTestBehavior(this.isEnable? HitTestMode.Transparent: HitTestMode.None)来代替enable实现阻断交互,触摸测试控制参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-hit-test-behavior-V5#hittestbehavior
示例参考: