Touch#

#

Provides easy access to events.

The following events are available:

  • on_long_touch

  • on_double_tap

  • on_triple_tap

Usage#

from kivy.lang import Builder
from kivy.properties import StringProperty

from kivymd.app import MDApp
from kivymd.uix.behaviors import TouchBehavior
from kivymd.uix.button import MDButton

KV = '''
<TouchBehaviorButton>
    style: "elevated"

    MDButtonText:
        text: root.text


MDScreen:
    md_bg_color: self.theme_cls.backgroundColor

    TouchBehaviorButton:
        text: "TouchBehavior"
        pos_hint: {"center_x": .5, "center_y": .5}
'''


class TouchBehaviorButton(MDButton, TouchBehavior):
    text = StringProperty()

    def on_long_touch(self, *args):
        print("<on_long_touch> event")

    def on_double_tap(self, *args):
        print("<on_double_tap> event")

    def on_triple_tap(self, *args):
        print("<on_triple_tap> event")


class Example(MDApp):
    def build(self):
        return Builder.load_string(KV)


Example().run()

API - kivymd.uix.behaviors.touch_behavior#

class kivymd.uix.behaviors.touch_behavior.TouchBehavior(**kwargs)#
duration_long_touch#

Time for a long touch.

duration_long_touch is an NumericProperty and defaults to 0.4.

create_clock(widget, touch, *args)#
delete_clock(widget, touch, *args)#

Removes a key event from touch.ud.

on_long_touch(touch, *args)#

Fired when the widget is pressed for a long time.

on_double_tap(touch, *args)#

Fired by double-clicking on the widget.

on_triple_tap(touch, *args)#

Fired by triple clicking on the widget.