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

标签 android bottomnavigationview

我正在使用 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/

相关文章:

android - 底部导航 View : FrameLayout vs ViewPager

android - 使用底部导航 android kotlin 在 fragment 中实现 MVVM 的最佳实践

android - 以编程方式膨胀底部导航 View 菜单

android - TextView 上的 Html.fromHtml() 不适用于动态添加的布局

android - 如何使用adjustResize设置隐藏键盘下方的BottomNavigationView

java - 如何从 try/catch block 中获取变量?

android - 在 Android O 上切换状态栏颜色的问题

dart - 在Flutter中按下“设备后退”按钮时,如何转到上一个选项卡?

android - 从 AppWidgetProvider 或服务类中的应用程序小部件创建新的 Android 通知?

android - Google Play 应用内订阅项目 - 在 Developer Console 中切换 Activity 和非 Activity