处理Action Bar上的应用程序图标点击行为
Action Bar的另一个功能是用户可以点击左上角的应用程序图标,虽然默认情况下点击行为没有任何反应,但如果增加一个自定义“主屏幕”功能,或关联到你的启动屏幕,那样操作起来更有趣。
假设你想更新ScrubActivity类中的默认Action Bar,以便点击应用程序图标时用户可以返回到主Activity(同时清空Activity stack)。
实现起来也很简单,你只需要为ScrubActivity类实现onOptionsItemSelected()方法,并处理特定的菜单项标识符android.R.id.home即可,例如:
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case android.R.id.home:
Intent intent = new Intent(this, ActOnThisActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
就这么简单,你也可以在应用程序图标的左边显示一个箭头,在你Activity的onCreate()方法中联合使用setDisplayHomeAsUpEnabled()方法,可以返回到指定的屏幕。
bar.setDisplayHomeAsUpEnabled(true);
如图7所示,我们在Sweep屏幕上启用了这个功能,在Action Bar上增加了一个箭头小图标。

▲图 7 带有可点击的主屏幕按钮和一个返回箭头的Action Bar
使用不需要Action Bar的屏幕
当你将应用程序目标设为API 11或更高时,你的所有屏幕默认都将拥有Action Bar,如果你不想用这个新部件,有几种方法可以移除它,最简单的方法可能是通过编程手段直接在Activity类中关闭它,例如,我们可以用下面两行代码关闭Vacuum屏幕上的Action Bar,只需要将这两行代码添加到Activity类的onCreate()方法中即可。
bar.hide();
这两行代码将移除屏幕顶部的整个Action Bar,应用程序名称也不会显示了,你也可以隐藏Action Bar,在布局文件中创建一个特殊的自定义主题即可,详细情况请阅读Android SDK文档。
Action Bar的高级功能
本文只是对Action Bar做了简单的介绍,可以说只触及了它的表面,Action Bar是支持样式的,包括修改背景图像和其它自定义属性,它们也支持多个其它成熟的视图类型和部件,不仅仅是那些在选项菜单中的菜单项,如标签和下来列表,你甚至可以增加其它类型的视图控件,创建Action Bar功能区域,详细情况请阅读Android SDK文档。
小结
如果你的应用程序已经使用了选项菜单,当你把目标设为蜂巢设备时,你可以利用Action Bar的所有功能,就像向你的菜单布局文件增加一些新属性一样简单。每个屏幕的Action Bar都是可定制的,作为开发人员,你可以控制显示哪个项目,以及如何显示,当你想留更多的屏幕显示游戏画面等内容时,你甚至可以移除整个Action Bar。
原文出处:http://www.informit.com/articles/article.aspx?p=1743642