BottomNavigationView的使用



官方更新了Support25.0.0,今天我們來認識一下BottomNavigationView,也就是底部導航,官方建議BottomNavigationView的item在3~5之間。



我的使用環境build.gradle中的引用如下:


dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:25.0.1'
    compile 'com.android.support:design:25.0.1'
    compile 'com.android.support:recyclerview-v7:25.0.1'
}


第一步:佈局文件  

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:design="http://schemas.android.com/apk/res-auto"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="dingmouren.bottomnavigationviewdemo.MainActivity">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/bottom_navigation_view"
        />
    <android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/colorAccent"
        app:itemIconTint="@android:color/white"
        app:itemTextColor="@android:color/white"
        app:itemBackground="@android:color/holo_blue_light"
        app:menu="@menu/menu_bottom_navigation_view"
        />
</RelativeLayout>

注:這兩個引用都可以使用,

xmlns:design="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"

比如使用design   下面就是這個樣子

design:itemIconTint="@android:color/white"

 app:itemIconTint=" " 這裏是爲tab中的icon着色,

 app:itemTextColor=" "這裏是設置icon下面文本顏色,

app:itemBackground=" "這是設置tab的背景顏色,

app:menu="@menu/menu_bottom_navigation_view" 設置底部導航的菜單


第二步:BottomNavigationView的菜單xml文件,跟平常的菜單沒有什麼兩樣。


<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/item1"
        android:checked="true"
        android:icon="@android:drawable/ic_dialog_email"
        android:title="發短信"/>
    <item
        android:id="@+id/item2"
        android:icon="@android:drawable/ic_menu_call"
        android:title="打電話"
        />
    <item
        android:id="@+id/item3"
        android:icon="@android:drawable/ic_dialog_map"
        android:title="地圖"/>
</menu>

第三步:初始化BottomNavigationView對象,並設置選中時的監聽


private void initListener() {
    mBottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()){
                case R.id.item1:
                    showToast("發短信啦");
                    break;
                case R.id.item2:
                    showToast("打電話啦");
                    break;
                case R.id.item3:
                    showToast("去旅遊啦");
                    break;
            }
            item.setChecked(true);
            return true;
        }
    });
}


就是這麼簡單的使用。

github源碼傳送門:https://github.com/DingMouRen/BottomNavigationViewDemo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章