【发布时间】:2020-12-10 18:16:39
【问题描述】:
我正在使用 Kivy Carousel 构建应用程序。
但是我想保持对轮播的手动控制并禁用滑动操作(我将手动调用 carousel.load_next)
我查看了文档,但看不到任何禁用滑动操作的方法。
如果有人可以帮助我,我将不胜感激。
非常感谢, 塞萨。
【问题讨论】:
我正在使用 Kivy Carousel 构建应用程序。
但是我想保持对轮播的手动控制并禁用滑动操作(我将手动调用 carousel.load_next)
我查看了文档,但看不到任何禁用滑动操作的方法。
如果有人可以帮助我,我将不胜感激。
非常感谢, 塞萨。
【问题讨论】:
您可以通过控制scroll_timeout 来禁用用户滑动。如果您只是将其设置为0,用户将无法触发滚动事件。
from kivy.app import App
from kivy.uix.carousel import Carousel
from kivy.uix.image import AsyncImage
class CarouselApp(App):
def build(self):
carousel = Carousel(direction='right', scroll_timeout=0)
for i in range(10):
src = "http://placehold.it/480x270.png&text=slide-%d&.png" % i
image = AsyncImage(source=src, allow_stretch=True)
carousel.add_widget(image)
return carousel
CarouselApp().run()
【讨论】:
感谢 Authur,我将标记为答案。 我还发现我可以继承 Carousel 并什么都不覆盖 on_touch_move。
class MyCarousel(Carousel): def on_touch_move(self,touch): pass
【讨论】:
以下内容可能会有所帮助:
使用
scroll_distance: '<x>dp'
【讨论】: