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

如何移除BottomNavigationView底部导航栏内的小型圆角矩形框?

解决BottomNavigationView内部出现小型圆角矩形框的问题

你看到的内部小型圆角矩形框是Material Design BottomNavigationView自带的选中项默认背景,组件默认会给选中的菜单项添加这个背景样式,你的代码里没有显式关闭它。

解决方案1:移除选中项默认背景

直接在activityMain.xml的BottomNavigationView中添加app:itemBackground="@android:color/transparent"属性,将选中项的背景设为透明:

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    android:layout_margin="20dp"
    android:elevation="3dp"
    app:itemRippleColor="@android:color/transparent"
    app:itemIconSize="30dp"
    app:labelVisibilityMode="labeled"
    android:background="@drawable/rounded_corner"
    app:itemIconTint="@drawable/item_selector"
    app:itemTextColor="@drawable/item_selector"
    app:menu="@menu/bottom_menu"
    app:itemBackground="@android:color/transparent" <!-- 新增这一行 -->
/>

解决方案2:修复颜色选择器的状态顺序问题

你的item_selector.xml中状态匹配顺序存在逻辑问题:state_pressed="false"会优先匹配未按下的状态,导致最后的默认颜色永远不会生效,调整顺序并优化:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 选中状态 -->
    <item
        android:state_checked="true"
        android:color="@color/red" />
    <!-- 按下状态(可选,提升交互体验) -->
    <item
        android:state_pressed="true"
        android:color="@color/red" />
    <!-- 默认状态 -->
    <item
        android:color="@color/grey"/>
</selector>

完成以上修改后,重新编译运行,内部的小型圆角矩形框就会消失,同时颜色选择器的逻辑也会更合理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:35:16