【问题标题】:Android: BottomNavigationView set custom colored icon on selected tabAndroid:BottomNavigationView 在所选选项卡上设置自定义彩色图标
【发布时间】:2017-09-05 14:39:18
【问题描述】:

我正在使用 BottomNavigationView,并且我想在选择时更改选项卡图标(使其具有渐变色)。

问题:当我在 OnNavigationItemSelectedListener 中设置渐变图标时,它不起作用,颜色改变了。

我尝试从 xml 更改默认颜色,设置 app:itemIconTint,但在这里我只能提供颜色选择器,我无法使用渐变

那么是否可以在 BottomNavigationView 选定的选项卡中设置自定义颜色的自定义图标?

【问题讨论】:

    标签: android bottomnavigationview


    【解决方案1】:

    您可以在 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 文件

    【讨论】:

    • 感谢回答,但我不需要纯色,我需要渐变
    • 好的,可以这样做,但是您需要更多代码来创建自定义类并扩展 TabLayout,在网上查看它们有很多示例,使用此自定义类,您可以使用自定义视图然后很容易在其上应用渐变
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 2023-03-09
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    相关资源
    最近更新 更多