设置 kivyscrollvieweffects_cls 属性的正确方法是什么?

sup*_*eme 5 effects scrollview kivy kivy-language

我想阻止用户过度滚动。kivy doc说effects_cls属性会改变这种行为,但我还没有找到让它发挥作用的方法。

FJS*_*lla 5

虽然您已经解决了您的问题,但我将为未来的用户提供一个示例。

effect_cls 您可以通过设置任何效果类别来更改正在使用的效果。如果您想禁用过度滚动效果以防止滚动弹跳效果,ScrollEffect请解决该问题。

使用 kivy 语言的示例:

from kivy.app import App
from kivy.uix.scrollview import ScrollView
from kivy.lang import Builder


Builder.load_string('''
#:import ScrollEffect  kivy.effects.scroll.ScrollEffect
#:import Button kivy.uix.button.Button
<RootWidget>
    effect_cls: ScrollEffect
    GridLayout:
        size_hint_y: None
        height: self.minimum_height
        cols: 1
        on_parent:
            for i in range(10): self.add_widget(Button(text=str(i), size_hint_y=None))
''')

class RootWidget(ScrollView):
    pass

class MainApp(App):
    def build(self):
        root = RootWidget()
        return root

if __name__ == '__main__':
    MainApp().run()
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述