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

如何去除BottomNavigationView选中状态样式或修改其颜色?

解决BottomNavigationView选中状态的修改问题

一、去除选中状态样式

要完全去掉点击后的选中样式,最直接的方式是自定义菜单项背景,让选中和未选中状态都保持透明:

  1. 在res/drawable目录下创建bottom_nav_item_bg.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 选中状态设为透明 -->
    <item android:drawable="@android:color/transparent" android:state_selected="true"/>
    <!-- 未选中状态也设为透明 -->
    <item android:drawable="@android:color/transparent" android:state_selected="false"/>
</selector>
  1. 在BottomNavigationView布局中添加属性:
app:itemBackground="@drawable/bottom_nav_item_bg"

二、修改选中状态颜色(比如改为蓝色)

如果不想去除选中样式,而是把默认的黑色改成蓝色,需要分别处理图标颜色和背景颜色:

1. 修改图标选中颜色

  • 在res/color目录下创建bottom_nav_icon_tint.xml颜色选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/your_blue_color" android:state_selected="true"/> <!-- 替换成你需要的蓝色 -->
    <item android:color="@color/white" android:state_selected="false"/> <!-- 未选中时保持白色 -->
</selector>
  • 替换布局中原有的app:itemIconTint属性:
app:itemIconTint="@color/bottom_nav_icon_tint"

2. 修改选中背景颜色(可选)

如果要把黑色背景改成蓝色,修改之前的bottom_nav_item_bg.xml即可:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/your_blue_bg_color" android:state_selected="true"/> <!-- 替换成你需要的蓝色背景 -->
    <item android:drawable="@android:color/transparent" android:state_selected="false"/>
</selector>

同样给BottomNavigationView加上app:itemBackground="@drawable/bottom_nav_item_bg"属性。

最终修改后的布局示例

<com.google.android.material.bottomappbar.BottomAppBar
    android:id="@+id/bottomAppBar"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_gravity="bottom"
    style="@style/Widget.MaterialComponents.BottomAppBar.Colored">

    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bnv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        app:labelVisibilityMode="unlabeled"
        app:itemIconTint="@color/bottom_nav_icon_tint"
        app:itemBackground="@drawable/bottom_nav_item_bg"
        app:menu="@menu/bottom_menu"/>

</com.google.android.material.bottomappbar.BottomAppBar>

内容的提问来源于stack exchange,提问作者D Com

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 12:55:16