:github_url: https://github.com/kivymd/KivyMD/blob/master/kivymd/uix/behaviors/touch_behavior.py

Touch
=====

.. py:module:: kivymd.uix.behaviors.touch_behavior

.. autoapi-nested-parse::

   Behaviors/Touch
   ===============

   .. rubric:: Provides easy access to events.

   The following events are available:

   - on_long_touch
   - on_double_tap
   - on_triple_tap

   Usage
   -----

   .. code-block:: python

       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 - :mod:`kivymd.uix.behaviors.touch_behavior`
------------------------------------------------

.. py:class:: TouchBehavior(**kwargs)


   .. py:attribute:: duration_long_touch

      Time for a long touch.

      :attr:`duration_long_touch` is an :class:`~kivy.properties.NumericProperty`
      and defaults to `0.4`.


   .. py:method:: create_clock(widget, touch, *args)


   .. py:method:: delete_clock(widget, touch, *args)

      Removes a key event from `touch.ud`.


   .. py:method:: on_long_touch(touch, *args)

      Fired when the widget is pressed for a long time.


   .. py:method:: on_double_tap(touch, *args)

      Fired by double-clicking on the widget.


   .. py:method:: on_triple_tap(touch, *args)

      Fired by triple clicking on the widget.




