添加依賴:
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support:design:26.+'
注意: support:design的版本要和support:appcompat的版本一致。否則編譯不通過。
代碼中使用
layout布局:
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/life_red"
app:itemIconTint="@color/life_white"
app:itemTextColor="@color/life_white"
app:menu="@menu/menu_material_bottom_navigation"
android:layout_gravity="bottom">
</android.support.design.widget.BottomNavigationView>
menu布局
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:icon="@drawable/home_page_black"
android:title="@string/home_page" />
<item
android:icon="@drawable/icons8_compass_96"
android:title="@string/find" />
<item
android:icon="@drawable/icons8_product_96"
android:title="@string/product" />
<item
android:icon="@drawable/icons8_user_96"
android:title="@string/me" />
</menu>
默認效果

out.gif
為圖標(biāo)和字體換顏色
app:itemIconTint="@color/life_white"
app:itemTextColor="@color/life_white"
只能設(shè)置color不能設(shè)置drawable
- 在res目錄下創(chuàng)建color資源文件夾
- 創(chuàng)建selector文件material_bottom_navigation
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/life_white" android:state_pressed="true"/>
<item android:color="@color/life_white" android:state_checked="true"/>
<item android:color="@color/life_black"/>
</selector
- 替換
app:itemIconTint="@color/material_bottom_navigation"
app:itemTextColor="@color/material_bottom_navigation"
問題
- 當(dāng)item = 3個時,沒有動畫,大于3個 會出現(xiàn)上面的動畫效果。
- 擴展性差
推薦文章:
https://juejin.im/post/59f924b0f265da431f4a60c3
http://www.itdecent.cn/p/aa499cc64f72
https://material.io/develop/android/components/bottom-navigation-view/
目前市面上有比較不錯的三方:
https://github.com/aurelhubert/ahbottomnavigation
https://github.com/chaychan/BottomBarLayout