我对 Kivy 和 Python 都很陌生,当由
Label
触发扫描时将新的数据流馈送到它时,我们有一个 ScrollView
超出了 Button
中的纹理大小。假设在 Pixel 7 模拟器中,当 y 轴上 Label
的纹理大小超过硬件的纹理大小限制:8192 时,Label
变为空白/黑色,但仍然可以滚动,但除了顶部信息之外什么都看不到例如,按钮或其他小部件。
我一直在互联网上寻找答案,但这是毫无意义的搜索。一些用户提到了
RecycleView
,但 Kivy 文档并没有让实现它变得容易,而且据我了解,RV 旨在处理更大的数据流入,并且内存效率更高。问题是,RV 是否也有助于解决纹理大小限制?
我发现了一篇文章(找不到它的链接),它让我阅读了 ScrollLabel,但 Git 上的存储库似乎已经死了。
我们已经调整了我们的应用程序以与
RecycleView
配合使用。这不是在应用程序中实现滚动的初学者友好的方式,但如果您要处理大量数据信息,则比 ScrollView
更好。
我建议仔细研究 Kivy 上的文档,删除和添加您认为合适的内容,以了解一切如何运作。据我所知,使用 Kivy 的
builder
中的 kivy.lang.builder
在 .kv
lang 及其小部件中定义 RV(RecycleView)要容易得多。使用 Kivy 的 Properties
,因为它使所有内容都更容易参考。确保类在 Python 中如何工作!至少,了解一下基础知识。直到今天我还不知道super()
是做什么的。
对我们有帮助的链接:
还有很多很多 StackOverflow 帖子...