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

如何去除BottomNavigationBar选中图标上的紫色高亮框

解决BottomNavigationView选中项紫色高亮框无法去除的问题

核心原因

你看到的紫色高亮框是Material Design组件中BottomNavigationView的选中状态指示器,默认继承自主题的colorPrimary颜色,和你设置的itemBackground、itemRippleColor不属于同一属性,所以之前的设置无法生效。

快速解决方法

直接在BottomNavigationView的布局代码中添加以下属性,将指示器颜色设为透明:

app:itemActiveIndicatorColor="@android:color/transparent"

修改后的完整布局代码:

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/bottomNavigationView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:background="@drawable/tab_view_bg"
    android:elevation="2dp"
    app:itemBackground="@android:color/transparent"
    app:itemIconSize="30dp"
    app:itemIconTint="@color/icons_colors"
    app:itemRippleColor="@android:color/transparent"
    app:labelVisibilityMode="unlabeled"
    app:itemActiveIndicatorColor="@android:color/transparent" <!-- 新增属性 -->
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:menu="@menu/bottom_nav_menu" />

备选方案(若上述方法无效)

如果项目使用了自定义主题,也可以在主题中全局修改这个指示器颜色:

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <!-- 其他主题属性 -->
    <item name="bottomNavigationItemActiveIndicatorColor">@android:color/transparent</item>
</style>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 10:32:27