如何更改 Kotlin 中 android studio 底部导航栏中所选项目周围的颜色?

问题描述 投票:0回答:2

我找不到更改底部导航栏中所选项目周围颜色的方法。就像下图中的紫色。

Screenshot of navigation bar

我尝试更改主颜色(默认为紫色),我也尝试更改

itemRippleColor
,但它仅在单击时更改所选项目的外部。只要选择该图标,这种紫色就会持续存在。我还尝试使用选择器根据检查的状态更改图标的颜色,但它改变了图标本身的颜色,但改变了它周围的颜色。

android kotlin colors bottomnavigationview android-bottomnav
2个回答
0
投票

从您的屏幕截图中我认为您正在使用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>

0
投票

在底部导航视图 style="@style/Widget.MaterialComponents.BottomNavigationView.Colored" 的 XML 中添加此行

© www.soinside.com 2019 - 2024. All rights reserved.