Android studio:toolbar 自定义及右侧滑动

无言

1、build.gradle 导入 compile'com.android.support:design:25.3.1'
2、添加自定义头部导航栏app_bar_main.xml



    
        
            
        
    
    

2、添加中间主题内容app_content.xml



    
        
            
    

3、添加侧拉菜单头部 nav_header_main.xml



    
    

4、在acticity_main.xml 中添加自定义的toolbar 跟 content

    
    

5、在MainActivity.java 中开始创建侧拉菜单

public DrawerLayout drawer;
protected void onCreate(Bundle savedInstanceState) {
        menuInit();// 初始化菜单
}
public void menuInit(){
        // toolbar
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle("");
        setSupportActionBar(toolbar);

        //初始化侧滑菜单
        drawer = (DrawerLayout) findViewById(R.id.activity_main);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
//        toggle.syncState(); // 不设置toolbar的navigation按钮

        // 点击右侧按钮显示菜单
        toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                if (!drawer.isDrawerOpen(Gravity.RIGHT)) {
                    drawer.openDrawer(Gravity.RIGHT);
                }
                return false;
            }
        });

        // 选中隐藏右侧菜单
        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(MenuItem item) {
                // 子菜单点击隐藏菜单
                DrawerLayout drawer = (DrawerLayout) findViewById(R.id.activity_main);
                drawer.closeDrawer(Gravity.RIGHT);
                // 子菜单点击触发事件
                int id = item.getItemId();
                if (id == R.id.nav_kjjg) {
                } 
                return true;
            }
        });
    }
 // 点击背景隐藏菜单
    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.activity_main);
        if (drawer.isDrawerOpen(Gravity.RIGHT)) {
            drawer.closeDrawer(Gravity.RIGHT);// 从右侧回收
        } else {
            super.onBackPressed();
        }
    }
    // 添加菜单按钮
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

你可能感兴趣的:(Android studio:toolbar 自定义及右侧滑动)