我找不到更改底部导航栏中所选项目周围颜色的方法。就像下图中的紫色。
我尝试更改主颜色(默认为紫色),我也尝试更改
itemRippleColor
,但它仅在单击时更改所选项目的外部。只要选择该图标,这种紫色就会持续存在。我还尝试使用选择器根据检查的状态更改图标的颜色,但它改变了图标本身的颜色,但改变了它周围的颜色。
从您的屏幕截图中我认为您正在使用Material 3 导航栏,在链接文档中我看到活动项目的波纹颜色是
attr/colorPrimary 的变体
您可以检查所有州这里
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selected. -->
<item android:alpha="@dimen/m3_ripple_pressed_alpha" android:color="?attr/colorPrimary" android:state_pressed="true" android:state_selected="true"/>
<item android:alpha="@dimen/m3_ripple_focused_alpha" android:color="?attr/colorPrimary" android:state_focused="true" android:state_selected="true"/>
<item android:alpha="@dimen/m3_ripple_hovered_alpha" android:color="?attr/colorPrimary" android:state_hovered="true" android:state_selected="true"/>
<!-- Unselected. -->
<item android:alpha="@dimen/m3_ripple_pressed_alpha" android:color="?attr/colorPrimary" android:state_pressed="true"/>
<item android:alpha="@dimen/m3_ripple_focused_alpha" android:color="?attr/colorOnSurfaceVariant" android:state_focused="true"/>
<item android:alpha="@dimen/m3_ripple_hovered_alpha" android:color="?attr/colorOnSurfaceVariant" android:state_hovered="true"/>
<item android:color="@android:color/transparent"/>
</selector>
在底部导航视图 style="@style/Widget.MaterialComponents.BottomNavigationView.Colored" 的 XML 中添加此行