Kivy中自定义Playlist所在的ScrollView无法滚动该如何修复?
Kivy ScrollView 按钮区域无法滚动解决方案
问题根因
ScrollView 可滚动的核心前提是内部子容器的尺寸大于 ScrollView 本身的可视区域尺寸。你当前使用的 PlayList 继承自 BoxLayout,默认垂直方向尺寸自适应(size_hint_y 默认为1),会自动缩放到和 ScrollView 高度一致,所有按钮被挤压在可视区域内,因此无法触发滚动。
解决方案
仅需要修改KV文件中 PlayList 的规则,关闭垂直方向尺寸自适应,并且让布局高度自动匹配内部子控件总高度即可,修改后的KV代码如下:
<PlayList>: #核心修改区域 size_hint: 1, None height: self.minimum_height
说明
size_hint: 1, None关闭垂直方向的尺寸自适应,允许自定义布局高度self.minimum_height是 BoxLayout 的内置属性,会自动计算所有子控件的高度之和作为布局的最小高度,10个按钮总高度为1000dp,超过 ScrollView 可视高度后就会自动触发滚动,按钮也不会再被挤压变形。- 你现有Python代码中按钮已经设置了固定高度和
size_hint_y=None,无需额外修改。
内容的提问来源于stack exchange,提问作者user14232195
相关产品推荐
相关产品推荐

