项目在 android BottomNavigationView 中选择颜色

新手上路,请多包涵

我指的是 这个。当我单击“日程安排”时会出现日程安排活动,但始终选择第一项颜色(收藏夹)。它不会从收藏夹项目颜色更改计划项目颜色。还有,第三项(音乐)。我使用 android:state_checked NOT android:state_enabled 。”如果使用 startActivity,它不会从收藏夹项目颜色更改计划项目颜色。如果不是,它会改变颜色。如何解决此颜色选择问题。

activity_main.xml

 app:itemIconTint="@drawable/nav_item_color_state"
app:itemTextColor="@drawable/nav_item_color_state"
app:menu="@menu/bottom_navigation_main"

@drawable/nav_item_color_state

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/white" android:state_enabled="true" />
    <item android:color="@color/colorPrimaryDark" android:state_enabled="false" />
</selector>

原文由 WPG 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 602
1 个回答

在 res 文件夹中创建一个颜色目录,并创建用于自定义底部导航项的 xml 文件:

资源/颜色/bottom_nav_color.xml:

 <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_checked="true" android:color="@color/your_color" />
     <item android:state_checked="false" android:color="@color/your_color"/>
</selector>

在你的 BottomNavigationView 设置 app:itemTextColorapp:itemIconTint@color/bottom_nav_color

 <android.support.design.widget.BottomNavigationView
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:id="@+id/main_navigation"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_alignParentBottom="true"
   android:background="@color/actionBarColor"
   app:menu="@menu/my_navigation_items"
   app:itemTextColor="@color/bottom_nav_color"
   app:itemIconTint="@color/bottom_nav_color"/>

原文由 Mohammad Hosein Heidari 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题