1

我想改变底部导航视图材质3中选定区域的颜色,但是颜色没有任何变化。我试过选择器、背景、背景色调和样式。都失败了。

目前是这样的。

应该是这样的。

4

1 回答 1

2

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

默认 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>

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

<style name="App.Custom.Indicator" parent="Widget.Material3.BottomNavigationView.ActiveIndicator">
    <item name="android:color">@color/blue</item>  
</style>

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

app:itemActiveIndicatorStyle="@style/App.Custom.Indicator"
于 2021-12-18T12:40:38.583 回答