底部导航选择文本和图标颜色
首先是底部导航主页布局活动
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/colorAccent"
android:theme="@style/ThemeOverlay.BottomNavView"
app:itemIconTint="@drawable/icon_color_selector"
app:itemTextColor="@drawable/selector"
app:labelVisibilityMode="labeled"
app:menu="@menu/home_menu">
</com.google.android.material.bottomnavigation.BottomNavigationView>
然后在drawable文件夹中创建选择器文件
item_color_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/bottomBarItemColor" android:state_selected="true" />
<item android:color="@color/colorDivider" android:state_selected="false" />
然后在drawable文件夹中创建文本选中颜色的xml文件
text_color_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_selected="true" />
<item android:color="@color/colorDivider" android:state_selected="false" />
然后在主题 XML 上添加样式。
<style name="ThemeOverlay.BottomNavView" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/colorWhite</item>
<item name="colorOnSurface">@color/colorDivider</item>
<item name="android:textColorSecondary">@color/colorDivider</item>
</style>
然后在res目录中创建home menu xml文件
将home_menu.xml添加到menu目录中
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/nav_live_date"
android:icon="@drawable/icon_selector"
android:title="Live Data"
android:enabled="true"/>
<item
android:id="@+id/nav_house_details"
android:icon="@drawable/icon_selector"
android:title="House Details"
android:enabled="true"/>
<item
android:id="@+id/nav_attendance"
android:icon="@drawable/icon_selector"
android:title="Attendance"
android:enabled="true"/>
<item
android:id="@+id/nav_emp_details"
android:icon="@drawable/icon_selector"
android:title="Emp Details"
android:enabled="true"/>
最后感谢你的支持
res/color
目录下,而不是res/drawable
,这样你就可以用@color/bottom_nav_icon_color_selector
来引用它了。 - arekolek