BottomNavigationView 默认底部其实是一张图片与颜色的切换,下面是系统自带的设置
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/title_home" />
<item
android:id="@+id/navigation_dashboard"
android:icon="@drawable/ic_dashboard_black_24dp"
android:title="@string/title_dashboard" />
<item
android:id="@+id/navigation_notifications"
android:icon="@drawable/ic_notifications_black_24dp"
android:title="@string/title_notifications" />
</menu>
上图是系统创建的效果图,只有图标和颜色的切换。
如果我们想设置两张图片切换,首先创建selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 选中时图片-->
<item android:drawable="@drawable/dy_click" android:state_checked="true" />
<!-- 未选中时 图片 -->
<item android:drawable="@drawable/dy" android:state_checkable="false" />
</selector>
布局更改如下:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navigation_home"
android:icon="@drawable/menu__sy_selected"
android:title="@string/title_home" />
<item
android:id="@+id/navigation_dashboard"
android:icon="@drawable/menu__dy_selected"
android:title="@string/title_dashboard" />
<item
android:id="@+id/navigation_notifications"
android:icon="@drawable/menu__mine_selected"
android:title="@string/title_notifications" />
</menu>
这个时候效果还是不行,要加上一行代码:
navigation.setItemIconTintList(null);
效果如下图: