我正在尝试在kivy中创建一个使用ScrollView的应用程序。如果用户向下滚动或向上滚动,我有什么方法可以知道。
答案 0 :(得分:0)
您可以存储在on_scroll_move
中收到的鼠标位置,然后通过比较您现在拥有的值和之前保存的值来确定方向。
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
Builder.load_string('''
<MyWidget>:
ScrollView:
on_scroll_start: root.scroll_pos_y = args[1].pos[1]
on_scroll_move: root.scroll_direction(args[1].pos[1])
Label:
text: 'test'
size_hint_y: None
height: 1000
''')
class MyWidget(BoxLayout):
scroll_pos_y = 0
def scroll_direction(self, new_scroll_pos_y):
if new_scroll_pos_y - self.scroll_pos_y < 0:
print('up')
else:
print('down')
self.scroll_pos_y = new_scroll_pos_y
class MyApp(App):
def build(self):
return MyWidget()
if __name__ == '__main__':
MyApp().run()