Kivy中的SwipeRefreshLayout

时间:2018-01-15 12:33:36

标签: python layout kivy

我正在使用Kivy技术开发应用程序,我想显示一个刷新行为。我做的最多的是滚动视图和控制如果要刷新的scroll_y坐标,但这样做的缺点是只有滚动时才能工作,如果没有滚动则不起作用。

<TrytonTree>
app: app
container: container
do_scroll_x: False
on_scroll_y: root.init_pull(self.scroll_y)
on_scroll_stop: root.pull(self.scroll_y)
MDList:
    id: container
...
class TrytonTree(ScrollView, TrytonTreeMixin):

def pull(self, scroll_y):
    if scroll_y >= 2:
        self.app.refresh_screen([self.get_model_name()])
        Clock.schedule_once(self.app.disable_spinner, 2)

def init_pull(self, scroll_y):
    if scroll_y >= 2:
        self.app.enable_spinner()

所以我的问题是,如果有一种控制滑动手势的方法,那么我可以调用刷新功能或类似的东西。

感谢。

1 个答案:

答案 0 :(得分:0)

你可以直接在动作事件上使用这种东西:

https://kivy.org/docs/api-kivy.input.motionevent.html

我认为你可以这样做:

on_touch_move(self, touch):
    self.refresh()