Focus¶
Changing the background color when the mouse is on the widget.
To apply focus behavior, you must create a new class that is inherited from the
widget to which you apply the behavior and from the FocusBehavior class.
Usage¶
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.behaviors import RectangularElevationBehavior, FocusBehavior
from kivymd.uix.boxlayout import MDBoxLayout
KV = '''
MDScreen:
md_bg_color: 1, 1, 1, 1
FocusWidget:
size_hint: .5, .3
pos_hint: {"center_x": .5, "center_y": .5}
md_bg_color: app.theme_cls.bg_light
MDLabel:
text: "Label"
theme_text_color: "Primary"
pos_hint: {"center_y": .5}
halign: "center"
'''
class FocusWidget(MDBoxLayout, RectangularElevationBehavior, FocusBehavior):
pass
class Test(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
return Builder.load_string(KV)
Test().run()
Color change at focus/defocus
FocusWidget:
focus_color: 1, 0, 1, 1
unfocus_color: 0, 0, 1, 1
API - kivymd.uix.behaviors.focus_behavior¶
- class kivymd.uix.behaviors.focus_behavior.FocusBehavior(**kwargs)¶
- Events
on_enterCalled when mouse enters the bbox of the widget AND the widget is visible
on_leaveCalled when the mouse exits the widget AND the widget is visible
- focus_behavior¶
Using focus when hovering over a widget.
focus_behavioris aBooleanPropertyand defaults to False.
- focus_color¶
The color of the widget when the mouse enters the bbox of the widget.
focus_coloris aColorPropertyand defaults to None.
- unfocus_color¶
The color of the widget when the mouse exits the bbox widget.
unfocus_coloris aColorPropertyand defaults to None.
- on_enter(self)¶
Called when mouse enter the bbox of the widget.
- on_leave(self)¶
Called when the mouse exit the widget.