Actionbar
Actionbar是Google在android3.0推出的控件, 用于取代传统菜单键, 将菜单显示在顶栏, 虽然在Android5.0 后Google推出Toolbar来取代Actionbar. 不过系统默认还是使用的Actionbar作为应用的标题栏
// 得到系统的ActionBar
ActionBar supportActionBar = getSupportActionBar();//v4包中
//设置标题
supportActionBar.setTitle("GooglePlay");
supportActionBar.setSubtitle("副标题");
// activity同时也自带设置actionbar标题的方法, 还有
setTitle("标题");
//设置图标
supportActionBar.setIcon(R.drawable.ic_launcher);
supportActionBar.setLogo(R.mipmap.ic_action_call);
默认图标是不显示的
supportActionBar.setDisplayShowHomeEnabled(false);//默认是false,默认是隐藏图标
虽然setIcon和 setLogo都是设置图标, 但是默认Icon比Logo的优先级高
supportActionBar.setDisplayUseLogoEnabled(true);//默认是false,默认是没用logo,用的icon
显示回退箭头
supportActionBar.setDisplayHomeAsUpEnabled(true);//默认是false,默认隐藏了回退部分
配合DrawerLayout
ActionBar常常和侧滑菜单配合使用
替换回退箭头为侧滑抽屉按钮
ActionBarDrawerToggle drawerToggle = new ActionBarDrawerToggle(this, mDrawerMain, R.string.open_menu,
R.string.close_menu);
drawerToggle.syncState();
监听Drawer的打开和关闭, 来实现更新回退按钮
mDrawerMain.setDrawerListener(mDrawerToggle);
演示:
点击按钮打开和关闭Drawer
@Override
public boolean onOptionsItemSelected(MenuItem item) {
mDrawerToggle.onOptionsItemSelected(item);
return super.onOptionsItemSelected(item);
}