设置kivy scrollview effects_cls属性的正确方法是什么?

时间:2017-06-23 19:16:06

标签: scrollview kivy effects kivy-language

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

2 个答案:

答案 0 :(得分:1)

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

您可以通过将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()

输出:

enter image description here

答案 1 :(得分:0)

所以我试图使用effect_cls:ScrollEffect应该是effect_cls:&#39; ScrollEffect&#39;。 必须将其作为字符串传递。