You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 16:50:20