近日醇坝, Android的 API 升級(jí)到了25 SDK,更新了Android支持庫到25.0.0扰柠,在新版本中牡整,除了其他的功能外藐吮,還引入了BottomNavigationView小部件,它實(shí)現(xiàn)了材料設(shè)計(jì)指南里的底部導(dǎo)航模式逃贝。
接下來就要實(shí)現(xiàn)BottomNavigationView了谣辞。
1、升級(jí)Android Support Library?為?25.0.0沐扳。
2泥从、在build.gradle 添加如下:
dependencies{
compile'com.android.support:design:25.0.0'
}
3、創(chuàng)建一個(gè)menu文件沪摄,用于配置底部欄的子項(xiàng)
menu_bottomnav.xml
.......
<item android:enabled="true"
? ? ? ? ? android:title="主頁"
? ? ? ? ? android:showAsAction="ifRoom"
? ? ? ? ? android:icon="@drawable/ic_menu"
? ? ? ? ? android:id="@+id/m1"/>
<item android:enabled="true"
? ? ? ? ? android:title="旅游"
? ? ? ? ? android:showAsAction="ifRoom"
? ? ? ? ? android:icon="@drawable/ic_menu"
? ? ? ? ? android:id="@+id/m2"/>
<item android:enabled="true"
? ? ? ? ? android:title="腳印"
? ? ? ? ? android:showAsAction="ifRoom"
? ? ? ? ? android:icon="@drawable/ic_menu"
? ? ? ? ? android:id="@+id/m3"/>
<item android:enabled="true"
? ? ? ? ? android:title="心語"
? ? ? ? ? android:showAsAction="ifRoom"
? ? ? ? ? android:icon="@drawable/ic_menu"
? ? ? ? ? android:id="@+id/m4"/>?
4躯嫉、將android.support.design.widget.BottomNavigationView放在讀者想要的布局文件中
注意記得添加menu文件:app:menu="@menu/menu_bottomnav"(這個(gè)對(duì)應(yīng)各自的menu)
main_activity.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
...省略一大堆代碼
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottomnavigationview"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="start"
app:itemTextColor="#008000"
app:itemIconTint="#008000"
app:menu="@menu/menu_bottomnav"/>
</LinearLayout>
5、監(jiān)聽
bottomnavigationview.setOnNavigationItemSelectedListener(newBottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public booleanonNavigationItemSelected(@NonNullMenuItemitem) {
? ? ?Toast.makeText(MainActivity.this,""+item.getTitle(),Toast.LENGTH_SHORT).show();
? ? ? ? return false;
? ?}
});
注意:google推薦一般 3-5個(gè)為宜
以上幾個(gè)效果圖杨拐,目前三個(gè)的比較合適祈餐,對(duì)稱均勻。其他的都是點(diǎn)擊了就歪了哄陶,不懂google這樣設(shè)計(jì)是基于什么考慮帆阳,還需等他們更多的信息。