如何移除Kivy中BoxLayout布局产生的多余无用空白?
Kivy BoxLayout多余空白修复方案
你遇到的顶部多余空白问题可以通过以下方法完全修复:
原问题效果参考:
问题根因
多余空白由两个配置问题共同导致:
- 顶部横向BoxLayout仅设置了
size_hint_y: None关闭高度自适应占比,但没有显式指定高度值,布局会保留默认预留高度 - 顶部两个按钮的
pos_hint: {'top': 1}配置会强制按钮靠在布局顶部,布局剩余的下方空间就会显示为空白
修复后完整KV代码
<BoxExample@BoxLayout>: orientation: "vertical" BoxLayout: orientation: "horizontal" size_hint_y: None height: "40dp" Button: text: "Logo" size_hint: None, None width: "80dp" height: "40dp" Button: text: "Menu" size_hint: 1, None height: "40dp" Button: text: "Body" Button: text: "Footer" size_hint: 1, None height: "40dp"
修改说明
- 给顶部横向BoxLayout新增
height: "40dp"配置,和内部按钮高度完全匹配,直接消除布局预留的多余空白 - 移除两个顶部按钮的
pos_hint: {'top':1}冗余配置,BoxLayout的默认排列规则会自动将按钮填满整个横向布局,无需额外指定位置即可正常对齐
内容的提问来源于stack exchange,提问作者Taslim
相关产品推荐
相关产品推荐

