如何改变活动指示器bottombavigationview材质的颜色呢?材质3

ant*_*nov 12 android-layout material-design bottomnavigationview material-components-android material-you

我想更改底部导航视图材质3中所选区域的颜色,但颜色没有任何改变。我尝试过选择器、背景、背景色调和样式。一切都没有成功。

目前是这样的。

应该是这样的。

DrH*_*Doo 33

您可以通过覆盖其默认样式来更改指示器颜色。

默认 itemIndicatorStyle :

<style name="Widget.Material3.BottomNavigationView.ActiveIndicator" parent="">
<item name="android:width">@dimen/m3_bottom_nav_item_active_indicator_width</item>
<item name="android:height">@dimen/m3_bottom_nav_item_active_indicator_height</item>
<item name="marginHorizontal">@dimen/m3_bottom_nav_item_active_indicator_margin_horizontal</item>
<item name="shapeAppearance">@style/ShapeAppearance.Material3.NavigationBarView.ActiveIndicator</item>
<item name="android:color">?attr/colorSecondaryContainer</item>
Run Code Online (Sandbox Code Playgroud)

只需根据您的喜好覆盖样式:

<style name="App.Custom.Indicator" parent="Widget.Material3.BottomNavigationView.ActiveIndicator">
    <item name="android:color">@color/blue</item>  
</style>
Run Code Online (Sandbox Code Playgroud)

然后将此行添加到您的 BottomNavigationView xml 代码中:

app:itemActiveIndicatorStyle="@style/App.Custom.Indicator"
Run Code Online (Sandbox Code Playgroud)