Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:BottomNavigationView在所选选项卡上设置自定义彩色图标_Android_Bottomnavigationview - Fatal编程技术网

Android:BottomNavigationView在所选选项卡上设置自定义彩色图标

Android:BottomNavigationView在所选选项卡上设置自定义彩色图标,android,bottomnavigationview,Android,Bottomnavigationview,我使用的是BottomNavigationView,我想在选中时更改选项卡图标(使其渐变色) 问题:当我在OnNavigationItemSelectedListener中设置渐变图标时,它不起作用,颜色会改变 我试图更改xml的默认颜色,设置app:itemIconTint,但这里我只能提供颜色选择器,而不能使用渐变 那么,是否可以在BottomNavigationView选定选项卡中设置自定义颜色的自定义图标?您可以在res文件夹中创建包颜色。在它里面创建一个带有选择器的XML文件 <

我使用的是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 list是上面的XML文件

谢谢你的回答,但我不需要平面颜色,我需要渐变色。这是可能的,但你需要更多的代码来创建自定义类和扩展TabLayout,在web上查看它们有很多示例,使用这个自定义类,您可以使用自定义视图对每个项目进行充气,然后很容易在其上应用渐变