как поменять цвет активного индикатора снизу навигаторапросмотр материала Вы? материал3
Я хочу изменить цвет выделенной области в материале 3 нижнего окна навигации, но цвет никак не меняется. Я пробовал селектор, фон, оттенок фона и стили. Все безуспешно
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>
А затем добавьте эту строку в свой xml-код bottomNavigationView:
app:itemActiveIndicatorStyle="@style/App.Custom.Indicator"
вы можете использовать эту функцию для изменения цвета индикатора:findViewById<BottomNavigationView>(R.id.bottomNavigationView) .itemActiveIndicatorColor = getColorStateList(R.color.white)
и установите эту аннотацию для вашей функции onCreate@RequiresApi(Build.VERSION_CODES.M)
посмотрите на скриншот