ActionBar
1、
ActionBar是谷歌在安卓3.0时候推出的一种标题栏控件,其主要目的是为了消除安卓中的菜单按键,统一安卓的显示界面。ActionBar主要包含四部分:app图标,试图控件,操作按钮,更多操作
1.app 图标:包含了图标,主标题,副标题,回退部分
2.视图控件:允许用户切换视图。视图切换控件的样式有下拉菜单或选项卡控件,d对应了,标准,list,tab,3种导航模式
3.操作按钮:在操作栏里,展示出你的 app 中最重要的操作。不能展示在操作栏里的操作,可以自动移到“更多操作”里
4.更多操作:把不常用的操作放到更多操作里
注意:1、使用ActionBar必须使用带ActionBar的主题
2、考虑到向下兼容的问题,Activity必须继承ActionBarActivity或者AppCompatActivity等支持ActionBar的兼容类
3、为了向下兼容,获取ActionBar必须使用getSupportActionBar()方法进行得到
2、与ActionBar相关的一些方法:
ActionBar supportActionBar = getSupportActionBar();
supportActionBar.setTitle(); //设置标题
supportActionBar.setSubTitle(); //设置副标题
supportActionBar.setIcon(); //设置图标
supportActionBar.setLogo(); //设置logo
supportActionBar.setDisplayShowHomeEnable(); //显示或隐藏图标
supportActionBar.setDisplayUseLogoEnable(); // 设置logo的优先级高低
supportActionBar.setDisplayHomeAsUpEnable(); // 显示回退部分
3、给回退部分设置点击事件:
public boolean onOptionsItemSelected(MenuItem item){} // 其中回退部分的id为:android.R.id.home
4、ActionBarDrawerToggle的使用
ActionBarDrawerToggle属于ActionBar的一个点击开关,控制着后退和菜单的交互显示,可以和DrawerLayout联动起来使用。
注意:ActionBarDrawerToggle在V4和V7包中都有,但是我们在开发中使用V7包中,因为V4包中ActionBarDrawerToggle在android21版及其以上的系统中没有动画的效果,已经过时了不再使用。
ActionBarDrawerToggle与DrawerLayout联动使用的方法:
ActionBarDrawerToggle mToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.open, R.string.close); // 获取ActionBarDrawerToggle
mToggle.syncState(); // 同步状态的方法--> 替换默认回退部分的UI效果
mDrawerLayout.setDrawerListener(mToggle); // 设置DrawerLayout的监听 --> DrawerLayout拖动的时候mToggle可以随着改变UI