BottomNavigationView的使用



官方更新了Support25.0.0,今天我们来认识一下BottomNavigationView,也就是底部导航,官方建议BottomNavigationView的item在3~5之间。


BottomNavigationView的使用_第1张图片


我的使用环境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"?>
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:id="@+id/recycler"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/bottom_navigation_view"
        />
            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"
        />


注:这两个引用都可以使用,

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"?>
xmlns:android="http://schemas.android.com/apk/res/android">
            android:id="@+id/item1"
        android:checked="true"
        android:icon="@android:drawable/ic_dialog_email"
        android:title="发短信"/>
            android:id="@+id/item2"
        android:icon="@android:drawable/ic_menu_call"
        android:title="打电话"
        />
            android:id="@+id/item3"
        android:icon="@android:drawable/ic_dialog_map"
        android:title="地图"/>

第三步:初始化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

你可能感兴趣的:(android)