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。使用 previous
和 next
属性根据操作获得要切换到的正确屏幕。这种逻辑在 python 中做得更好,并且不会阻止在之后的 kv 中使用小部件。
到目前为止,我发现的关于切换屏幕的 Kivy 开发的每个示例都是使用按钮完成的,尽管用户体验感觉不是很 "native" 或 "Smooth"对于我想开发的那种应用程序。
我本来希望可以结合滑动屏幕来切换活动屏幕。
我可以想象如何通过跟踪用户 on_touch_down() 和 on_touch_up() 连接线 (spos) 来做到这一点,如果差异足够大,则切换到下一个屏幕列表中的屏幕,尽管我无法想象如何在 kv 语言中实现它
也许一些例子可以帮助我更好地理解这个问题?
P.S。 我想在 kv 语言文件中保留尽可能多的 UI 代码,以防止我的项目产生类似 speghetti 代码的感觉。我对 Kivy 开发也很陌生,所以如果这个问题在某个地方有官方答案而我只是错过了,我深表歉意。
您可能想使用 Carousel
而不是 ScreenManager
,但是如果您在使用 ScreenManager
时想要该逻辑,您肯定需要编写一些 python 代码在它的子类中管理它,然后在 kv 中将它用作普通的 ScreenManager。使用 previous
和 next
属性根据操作获得要切换到的正确屏幕。这种逻辑在 python 中做得更好,并且不会阻止在之后的 kv 中使用小部件。