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="@color/yellow" android:state_checked="true" />
    <!-- 未选中状态用透明背景,可根据需求调整 -->
    <item android:drawable="@android:color/transparent" android:state_checked="false" />
</selector>
  1. 在res/values/colors.xml中添加黄色的颜色定义:
<color name="yellow">#FFFF00</color>
  1. 修改你的activity_main.xml,给BottomNavigationView加上app:itemBackground属性:
<com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottomNavigationView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:menu="@menu/bottom_nav"
        app:itemBackground="@drawable/bottom_nav_item_bg"
        <!-- 可选:如果需要修改选中/未选中的图标、文字颜色,可添加以下属性 -->
        app:itemIconTint="@color/bottom_nav_tint"
        app:itemTextColor="@color/bottom_nav_tint"
        >
</com.google.android.material.bottomnavigation.BottomNavigationView>
  1. (可选)如果要修改图标和文字的颜色,创建res/color/bottom_nav_tint.xml选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@android:color/black" android:state_checked="true" />
    <item android:color="@android:color/darkgray" android:state_checked="false" />
</selector>

方案二:全局主题配置(统一应用所有BottomNavigationView样式)

如果希望整个应用的BottomNavigationView都使用这个样式,可通过主题配置:

  1. 按照方案一的步骤创建好bottom_nav_item_bg.xml和颜色定义。

  2. 修改res/values/styles.xml,添加自定义的BottomNavigation样式:

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <!-- 其他主题属性保持不变 -->
    <item name="bottomNavigationStyle">@style/CustomBottomNavStyle</item>
</style>

<style name="CustomBottomNavStyle" parent="Widget.MaterialComponents.BottomNavigationView">
    <item name="itemBackground">@drawable/bottom_nav_item_bg</item>
    <!-- 可选:配置图标和文字颜色 -->
    <item name="itemIconTint">@color/bottom_nav_tint</item>
    <item name="itemTextColor">@color/bottom_nav_tint</item>
</style>
  1. 确保你的Activity在AndroidManifest.xml中使用该主题:
<activity android:name=".MainActivity"
          android:theme="@style/AppTheme">
    <!-- 其他配置 -->
</activity>

注意事项

  • 确认你的项目已经引入了Material Design组件依赖,在build.gradle(Module level)中:
implementation 'com.google.android.material:material:1.9.0' <!-- 版本可按需更新 -->

内容的提问来源于stack exchange,提问作者Atharva Kavale

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 11:05:22