Kivy Android App - 滑动切换屏幕

Kivy Android App - Switching screens with a swipe

到目前为止,我发现的关于切换屏幕的 Kivy 开发的每个示例都是使用按钮完成的,尽管用户体验感觉不是很 "native" 或 "Smooth"对于我想开发的那种应用程序。

我本来希望可以结合滑动屏幕来切换活动屏幕。

我可以想象如何通过跟踪用户 on_touch_down() 和 on_touch_up() 连接线 (spos) 来做到这一点,如果差异足够大,则切换到下一个屏幕列表中的屏幕,尽管我无法想象如何在 kv 语言中实现它

也许一些例子可以帮助我更好地理解这个问题?

P.S。 我想在 kv 语言文件中保留尽可能多的 UI 代码,以防止我的项目产生类似 speghetti 代码的感觉。我对 Kivy 开发也很陌生,所以如果这个问题在某个地方有官方答案而我只是错过了,我深表歉意。

您可能想使用 Carousel 而不是 ScreenManager,但是如果您在使用 ScreenManager 时想要该逻辑,您肯定需要编写一些 python 代码在它的子类中管理它,然后在 kv 中将它用作普通的 ScreenManager。使用 previousnext 属性根据操作获得要切换到的正确屏幕。这种逻辑在 python 中做得更好,并且不会阻止在之后的 kv 中使用小部件。