官方文档:
ActionBar 是一个功能窗口,给用户提供操作和导航模式。使用Actionbar 系统会适配不同的屏幕尺寸给在应用中给用户一个统一的用户界面。
ActionBar提供了一些重要的功能:
1、提供一个专用的空间给应用用作标识使用以及展示表明用户当前所在的位置。
2、放置重要的功能以及 便捷的操作(比如 搜索)
3、支持一直的导航和视图切换应用(标签或者下拉列表)
Actionbar 可以在mainfests文件中对应的Activity或者Application标签设置
Actionbar 在api11或者更高的 Theme.Holo 主题中默认打开的:如 <activity android:theme="@style/Theme.Holo.Light" ...>,另外如果在mainfests中没有设置打开Actionbar,那么在代码中设置
getActionBar().show();
另外也可以设置隐藏
getActionBar().hide();
下面会列举一些Actionbar使用中的一些可能会遇到的问题,将会以Q&A的形式。
Q:顶部左侧具有返回按钮
A:
//显示logo和返回按钮 getActivity().getActionBar().setDisplayHomeAsUpEnabled(true); //不显示logo图标只显示返回按钮 getActivity().getActionBar().setDisplayShowHomeEnabled(false);
Q:返回按钮以及导航按钮的点击事件监听
A:使用Activity 通过
@Override public boolean onOptionsItemSelected(MenuItem item) {方法即可监听,但是如果使用的Fragment呢?使用onOptionItemSelected方法就监听不到了。这是需要
setHasOptionsMenu(true);
设置fragment的菜单选项也打开状态,那么onOptionItemSelected就可以监听到了。那么也就是onOptionItemSelected监听的是fragment的,如果setHasOptiongsmenu没有设置为false,那么是不会执行onCreatOptionMenu方法的,也就是不会天剑fragment的menu菜单的,那么onOptionItemSelected也就不能监听到。
未完待续......