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)
})
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS Toggle组件设备type为Switch时,滑槽颜色无法设置
285浏览 • 1回复 待解决
HarmonyOS Toggle组件关闭状态的颜色怎么设置?
434浏览 • 1回复 待解决
HarmonyOS button组件enabled为false时,默认样式是什么?
77浏览 • 1回复 待解决
HarmonyOS Toggle组件怎么拦截?
422浏览 • 1回复 待解决
控件设置了enable=false,不想让他默认变色(似乎是透明度变了)
787浏览 • 1回复 待解决
HarmonyOS isFullScreen获取始终为false
26浏览 • 1回复 待解决
HarmonyOS Toggle组件onChange方法手动触发
41浏览 • 1回复 待解决
HarmonyOS toggle组件是否支持完全受控
475浏览 • 0回复 待解决
HarmonyOS Toggle空间的勾颜色怎么修改?
414浏览 • 1回复 待解决
List组件divider颜色显示透List组件颜色
322浏览 • 0回复 待解决
Toggle组件为Switch样式的时候点击时 有个方形的背景如何去掉
1518浏览 • 1回复 待解决
Toggle组件,当为ToggleType.CheckBox时,形状是圆形的,如何改为圆角矩形?
568浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS NEXT中设置子组件enabled属性为false时避免触发父组件点击事件?
102浏览 • 0回复 待解决
HarmonyOS TextInput设置enabled=false时,字体颜色怎么设置
13浏览 • 1回复 待解决
控件enabled设置为false时,hover失效
2284浏览 • 1回复 待解决
Span组件禁用控制(enable)、显隐控制(visibility)属性设置无效
1934浏览 • 1回复 待解决
HarmonyOS Toggle组件如何通过事件控制开关状态
4浏览 • 1回复 待解决
HarmonyOS Refresh组件需要一个enable属性来动态控制是否允许下拉
309浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何为Toggle组件添加事件?
87浏览 • 1回复 待解决
HarmonyOS TextInput组件背景颜色如何跟随父组件显示
21浏览 • 1回复 待解决
HarmonyOS 怎么关闭https校验--strict_ssl如何设置为false
27浏览 • 1回复 待解决
HarmonyOS Image组件如何设置填充颜色
26浏览 • 1回复 待解决
HarmonyOS Toggle如何在特定场景下禁用,即点击依旧保持false的状态,不会改变
64浏览 • 1回复 待解决
XComponent组件如何设置背景颜色
2174浏览 • 1回复 待解决
设置XComponent组件为透明
558浏览 • 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
示例参考: