V7-ToolBar的使用—替代actionbar

它用来代替ActionBar,但是比ActionBar更加灵活,相当于可以写在布局文件中的ActionBar;与DrawerLayout的使用的时候,DrawerLayout可以覆盖在ToolBar上,并且ToolBar和ActionBar不能同时使用

使用

隐藏actionbar

//先隐藏ActionBar,可以继承一个不带ActionBar的Theme,如:
style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"

布局文件中引用




    

        
    

    

        
    

ToolBar替代ActionBar--在Activity中设置

/**
 * 设置toolbar
 */
private void setToolbar() {
    //替代actionbar
    setSupportActionBar(toolbar);
    //获取actionbar对象
    ActionBar actionBar = getSupportActionBar();
    actionBar.setTitle("应用详情");
    //设置ActionBar的home按钮可用---启用actionbar的home按钮可用
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setDisplayShowHomeEnabled(true);
}

toolBar.setTitle("ToolBar");//设置标题
toolBar.setNavigationIcon(iconRes);//设置图标
toolBar.setOnMenuItemClickListener();//设置Menu Item点击

设置actionbar的home按钮的点击事件

@Override
public boolean onOptionsItemSelected (MenuItem item){
    if (item.getItemId() == android.R.id.home) {
        //如果当前点击的是home按钮,才退出
        //直接写finish他暴力--因为actionbar上可能会有好多按钮
        finish();
    }
    return super.onOptionsItemSelected(item);
}

给actionbar添加菜单按钮

//添加菜单按钮
@Override
public boolean onCreateOptionsMenu (Menu menu){
    getMenuInflater().inflate(R.menu.main, menu);
    return super.onCreateOptionsMenu(menu);
}

+菜单按钮的布局




    

你可能感兴趣的:(V7-ToolBar的使用—替代actionbar)