android Material Design 学习之三:NavigationView 使用

在MD学习之二中提到了DrawerLayout 侧滑,但是滑动区域太过于单调,我们看看网易云音乐的侧滑,下图:

android Material Design 学习之三:NavigationView 使用_第1张图片

就比较充实,MD 提供了一种可以让滑动变得丰富的控件 NavigationView 。


基本使用

布局:

在DrawerLayout 添加 NavigationView,直接把MD 学习之二 中的TextView 换成 NavigationView





    



    



在这里,引用了headerLayout 和 menu 

headerLayout :




    

    

    


menu:




    
        
        
        
        
    

    
        
            
            
        
    

这里上面四个Item ,下面2个item,group 表示一个组,

android:checkableBehavior="single"

代表每个Item 只能单选。


代码:

先获取实例

navigationView = (NavigationView) findViewById(R.id.nav_view);

 默认选中的Item

navigationView.setCheckedItem(R.id.nav_camera);

选择事件监听:

  navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                drawerLayout.closeDrawers();
                switch (item.getItemId())
                {
                    case R.id.nav_camera:
                        Toast.makeText(DrawerLayoutActivity.this, "相机", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.nav_gallery :
                        Toast.makeText(DrawerLayoutActivity.this, "相册", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.nav_slideshow :

                        break;
                    case R.id.nav_manage :

                        break;
                    case R.id.nav_share :
                        Toast.makeText(DrawerLayoutActivity.this, "分享", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.nav_send:
                        Toast.makeText(DrawerLayoutActivity.this, "发送", Toast.LENGTH_SHORT).show();
                        break;

                }
                return true;
            }
        });
android Material Design 学习之三:NavigationView 使用_第2张图片

你可能感兴趣的:(Android,5.x)