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

隐藏FloatingActionButton后BottomAppBar残留凹槽问题解决

解决BottomAppBar隐藏FAB后残留凹槽的问题

问题根源在于你给BottomAppBar设置了app:fabAlignmentMode="end",这个属性会让BottomAppBar始终为FAB预留凹槽位置,哪怕FAB已经隐藏。要消除凹槽,只需要在隐藏/显示FAB的同时动态修改BottomAppBar的对齐模式:

代码修改示例

把你原来的FAB可见性控制代码,改成下面这样:

if (canPlay) {
    // 显示FAB时,恢复BottomAppBar的凹槽
    bottomAppBar.setFabAlignmentMode(BottomAppBar.FAB_ALIGNMENT_MODE_END);
    mFab.setVisibility(View.VISIBLE);
} else {
    // 隐藏FAB时,移除凹槽,让BottomAppBar变回矩形
    bottomAppBar.setFabAlignmentMode(BottomAppBar.FAB_ALIGNMENT_MODE_NONE);
    mFab.setVisibility(View.GONE);
}

额外优化(可选)

如果想要过渡更自然,可以给BottomAppBar添加布局动画:
在布局文件里给BottomAppBar加上android:animateLayoutChanges="true",这样切换对齐模式时会有平滑的过渡效果。

注意事项

确保你的项目使用的是较新版本的Material Components库,避免因版本过低导致setFabAlignmentMode方法不可用。

内容的提问来源于stack exchange,提问作者Alexander Farber

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:05:32