Android:Material Design之NavigationView使用

说明:
NavigationView是一个抽屉控件,继承ScrimInsetsFrameLayout,属于android.support.design.widget包下的控件,类似于SlidingMenu开源项目的效果,用于实现左边滑出或隐藏列表抽屉,需要与DrawerLayout配合使用。


使用:

1.NavigationViewActivity类,用于管理菜单栏与内容区的逻辑:

public class NavigationViewActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.navigationview);
        initView();
    }

    private void initView() {
        //实现左右滑动
        final DrawerLayout dl = (DrawerLayout) findViewById(R.id.navigationview_dl);
        //内容区
        final TextView contentTv = (TextView) findViewById(R.id.navigationview_content_tv);
        //菜单控件
        final NavigationView nv = (NavigationView) findViewById(R.id.navigationview_menu_nv);
        //让菜单图标以原色显示
        nv.setItemIconTintList(null);
        //菜单item点击事件
        nv.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {

            @Override
            public boolean onNavigationItemSelected(MenuItem item) {
                contentTv.setText(item.getTitle());
                item.setCheckable(true);//设置选项可选
                item.setChecked(true);//设置选型被选中
                dl.closeDrawers(); //关闭菜单栏
                return false;
            }
        });
    }
}

2.NavigationViewActivity类中的布局navigationview.xml,用于布局菜单控件与主内容区控件:




    

        
    

    
  


3.navigationview_header.xml,用于布局菜单头部显示:




    

    

    


4.navigationview_menu.xml,在res/menu目录下,管理菜单列表文字与图标:



    
        
        
        
    


你可能感兴趣的:(Android)