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

如何移除或修改Material3底部导航栏的淡紫色选中动画?

移除/修改Material3 BottomNavigation选中时的淡紫色动画

下面是针对你问题的几种可行解决方案:

方法1:自定义Item样式禁用/修改波纹动画

在res/values/themes.xml(或styles.xml)中创建自定义样式,覆盖BottomNavigationItem的波纹属性:

<style name="CustomBottomNavItem" parent="Widget.Material3.BottomNavigationItem">
    <!-- 完全移除波纹效果 -->
    <item name="rippleColor">@android:color/transparent</item>
    <!-- 或者替换为你需要的波纹颜色 -->
    <!-- <item name="rippleColor">@color/your_custom_ripple_color</item> -->
</style>

然后在布局的BottomNavigationView中应用该样式:

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/bottom_nav"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:menu="@menu/bottom_nav_menu"
    app:itemStyle="@style/CustomBottomNavItem" />

方法2:禁用颜色过渡动画并自定义选中颜色

如果淡紫色是选中时图标/文字的颜色过渡效果,可以通过以下步骤修改:

  1. 创建颜色选择器文件res/color/bottom_nav_color_selector.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/your_selected_color" android:state_checked="true" />
    <item android:color="@color/your_unselected_color" />
</selector>
  1. 在布局中设置颜色选择器并禁用动画:
<com.google.android.material.bottomnavigation.BottomNavigationView
    ...
    app:itemIconTint="@color/bottom_nav_color_selector"
    app:itemTextColor="@color/bottom_nav_color_selector"
    app:itemAnimationEnabled="false" />

方法3:通过Kotlin代码直接控制动画

也可以在代码中直接禁用动画属性:

val bottomNav = findViewById<BottomNavigationView>(R.id.bottom_nav)
// 禁用Item选中时的动画
bottomNav.itemAnimationEnabled = false

内容的提问来源于stack exchange,提问作者M Fiqry Septiawan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 04:40:58