MDRoundFlatIconButton 在禁用后启用时会丢失背景颜色。有啥修复吗?
Posted
技术标签:
【中文标题】MDRoundFlatIconButton 在禁用后启用时会丢失背景颜色。有啥修复吗?【英文标题】:MDRoundFlatIconButton loses the background colour when it is enabled after disabling. Any fixes?MDRoundFlatIconButton 在禁用后启用时会丢失背景颜色。有什么修复吗? 【发布时间】:2022-01-16 23:20:33 【问题描述】:在 .kv 文件中:
MDRoundFlatIconButton:
icon: 'send-check'
text: "Confirm"
size_hint: .15, 1
md_bg_color: 0, 0, 0, 1
on_release: app.submitSliderValue()
disabled: not app.slider_active_bool
在 .py 文件中:
class BlackjackApp(MDApp):
slider_active_bool = BooleanProperty(True)
def initalize(self):
sleep(1)
self.slider_active_bool = False
sleep(1)
self.slider_active_bool = True
程序启动时,按钮有md_bg_color。禁用后,它会以灰色显示正常运行(就像禁用时一样)。但是当它再次重新启用时,它不会得到与以前相同的黑色。帮助。
【问题讨论】:
【参考方案1】:我相信这是kivyMD
中的一个错误。您可以通过将on_disabled()
添加到您的kv
来解决此问题:
MDRoundFlatIconButton:
icon: 'send-check'
text: "Confirm"
size_hint: .15, 1
md_bg_color: 0, 0, 0, 1
on_release: app.submitSliderValue()
disabled: not app.slider_active_bool
on_disabled: app.butt_disabled(self)
然后将butt_disabled()
方法添加到App
:
class BlackjackApp(MDApp):
slider_active_bool = BooleanProperty(True)
def butt_disabled(self, butt):
if not butt.disabled:
butt.md_bg_color = (0, 0, 0, 1) # reset md_bg_color
【讨论】:
以上是关于MDRoundFlatIconButton 在禁用后启用时会丢失背景颜色。有啥修复吗?的主要内容,如果未能解决你的问题,请参考以下文章
在 uitableview 中禁用反弹也会禁用 iOS 5 上的滚动,但不会禁用 iOS4