KivyMD TopAppBar的free-center模式失效问题求助
问题:MDBottomAppBar搭配MDTopAppBar设置mode="free-center"时图标位置异常
我在屏幕底部创建工具栏,参考KivyMD 1.1.1官方文档将MDTopAppBar的mode设为free-center,但相机图标按钮却显示在free-end的位置;而将mode设置为center、free-end、end时,图标位置均正常显示。
我的Kivy相关依赖版本如下:
Kivy==2.2.0.dev0 kivy-deps.angle==0.3.3 kivy-deps.glew==0.3.1 kivy-deps.gstreamer==0.3.3 kivy-deps.sdl2==0.5.1 Kivy-examples==2.2.0.dev0 Kivy-Garden==0.1.5 kivymd==1.1.1
对应的KV代码:
MDBottomAppBar: MDTopAppBar: icon: "camera" type: "bottom" mode: "free-center"
解决思路
1. 临时手动调整位置
可以通过给MDTopAppBar添加pos_hint属性强制修正图标位置,比如:
MDBottomAppBar: MDTopAppBar: icon: "camera" type: "bottom" mode: "free-center" pos_hint: {"center_x": 0.5}
如果上述调整效果不佳,也可以尝试直接指定x坐标来微调。
2. 升级KivyMD版本
这个问题大概率是KivyMD 1.1.1版本的已知布局bug,后续稳定版本(如2.x系列)已经修复了类似的bottom模式下的布局异常问题。建议升级到最新稳定版的KivyMD,再测试该功能。
内容的提问来源于stack exchange,提问作者AXLD
相关产品推荐
相关产品推荐

