Kivy 刷新布局(异步加载)
问题描述
我有一个 ListView,其中每个项目都有一个 AsyncImage 和一个标签.加载图像时,它会显示每个项目之间有间隙的布局.
I have a ListView that where each item has a AsyncImage and a Label. While the images load it shows the layout with gaps between each item.
-------
Item
-------
Item
-------
当第一次交互发生(发生滚动)时,布局刷新并且间隙消失.
When the first interaction happens (a scroll occurs), the layout refreshes and the gaps disappear.
-------
Item
-------
Item
-------
我真的很想在图像加载完成后刷新布局.如何刷新布局?
I'd really like to have the layout refresh when an image finishes loading. How do I refresh a layout?
解决方案
通常你可以通过调用 widget.canvas.ask_update().
Usually you can ask the widget to update it's canvas by calling widget.canvas.ask_update().
对于布局,您可以尝试通过调用 layout_instance.do_layout().
For a layout you could try triggering the layout of the widgets inside it by calling layout_instance.do_layout().
相关文章