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

Android XML环境下如何通过代码控制BottomAppBar的显示状态

代码控制BottomAppBar显示状态完全可行

你遇到的performShow()调用无效的问题,是因为BottomAppBar的滚动隐藏/显示逻辑由其绑定的BottomAppBar.Behavior控制,直接调用View层面的方法无法触发Behavior的状态更新。正确做法是通过CoordinatorLayout获取对应的Behavior,再调用Behavior提供的方法来控制显示隐藏:

实现步骤

  1. 获取BottomAppBar实例及其对应的Behavior
  2. 调用Behavior的show()或hide()方法完成状态控制

代码示例(Kotlin)

val bottomAppBar = findViewById<BottomAppBar>(R.id.your_bottom_app_bar_id)
val layoutParams = bottomAppBar.layoutParams as CoordinatorLayout.LayoutParams
val behavior = layoutParams.behavior as BottomAppBar.Behavior

// 强制显示BottomAppBar
behavior.show()

// 强制隐藏BottomAppBar
behavior.hide()

额外说明

  • 如果需要临时禁用自动滚动隐藏的行为,可以设置:
    behavior.isHideable = false
    
    恢复自动行为时再设为true即可。
  • 调用show()/hide()后,后续的滚动触发逻辑依然会正常工作,不会被永久覆盖。

内容的提问来源于stack exchange,提问作者Nguyễn Minh Khoa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:52:40