我正在使用 BottomNavigationView,并且我想在选择选项卡图标时更改它(使其渐变色)。
问题:当我在 OnNavigationItemSelectedListener 中设置渐变图标时,它不起作用,颜色发生变化。
我尝试从 xml 更改默认颜色,设置 app:itemIconTint,但在这里我只能提供颜色选择器,而我无法使用渐变
那么是否可以在 BottomNavigationView 选定的选项卡中设置自定义颜色的自定义图标?
最佳答案
您可以在 res 文件夹中创建包颜色。在其中创建一个带有选择器的 XML 文件
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/colorWhite" />
<item android:color="@color/colorLightGrey" />
</selector>
在这里您可以设置图标被选中或未被选中时的颜色。
您可以在 BottomNavigationView 中使用 XML 文件,如下所示:
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorBlack"
app:itemIconTint="@color/nav_item_state_list"
app:itemTextColor="@color/nav_item_state_list"
app:menu="@menu/bottom_navigation_items"/>
nav_item_state列表是上面的XML文件
关于Android:BottomNavigationView 在所选选项卡上设置自定义彩色图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46057672/