这是Adobe Illustrator中我的应用设计的剪辑/屏幕截图:https://imgur.com/a/7tXii 根据您当前所在的菜单,相应的部分应如下所示突出显示(在这种情况下为浅蓝色)。
我知道您可以通过在/styles.xml下创建的自定义ThemeOverlay更改ITEM / ICON颜色,并添加app:theme =“@ style / preceding_tioned_theme_overlay”,如下所示:
<style name="ThemeOverlay.AppCompat.navTheme">
<!-- Color of text and icon when SELECTED -->
<item name="colorPrimary">@color/color_of_your_choice</item>
<!-- Background color when SELECTED -->
<item name="colorControlHighlight">@color/color_of_your_choice</item>
</style>
但是,所有这一切都是在选择时更改图标颜色,而不是突出显示图标下方的部分。 主要问题可能是导航背景是整个屏幕上的水平条,但我只想根据所选项目更改其中33%的颜色。这可能需要一个脏的解决方法(?)。
答案 0 :(得分:1)
不需要那么多脏的解决方法。只需在初始化BottomNavigationView
实例后添加此内容:
navigation.setItemBackgroundResource(R.drawable.menubackground);
并将其放入/drawable/menubackground.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorAccent" android:state_pressed="true" />
<item android:drawable="@color/colorAccent" android:state_checked="true" />
<item android:drawable="@color/colorPrimary" />
</selector>
看起来像这样: