ActionBar提供如下功能:
显示选项菜单的菜单项
使用程序图标作为返回Home主屏或向上的导航操作
提供交互式View作为Action View
提供基于Tab的导航方式,用于切换多个Fragment
提供基于下拉的导航方式
从SDK 11开始,默认启动ActionBar,如果要关闭ActionBar,可以设置主题为 ***.NoActionBar的
也可以使用show和hide显示与隐藏。
要想显示菜单到ActionBar上,MenuItem提供了setShowAsAction(int actionEnum)方法:
其中参数可以设置为
SHOW_AS_ACTION_ALAYWS:总是显示在ActionBar上。
SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW:将Action View折叠成普通菜单项。
SHOW_AS_ACTION_IF_ROOM:当ActionBar位置足够时候才显示MenuItem。
SHOW_AS_ACTION_NEVER:不将MenuItem显示在ActionBar上。
SHOW_AS_ACTION_WITH_TEXT:将该MenuItem显示在ActionBar上,并显示该菜单项的文本。
或者使用XML的android:showAsAction属性。
启用程序图标导航
为了将应用程序图标转换程可点击的图标,可以调用ActionBar的如下方法:
setDisplayHomeAsUpEnabled:设置是否将应用程序图标转换程可点击图标,并添加一个向左箭头。
setDisplayOptions:通过传入int常量控制显示
setDisplayShowHomeEnabled:设置是否显示应用程序图标
setHomeButtonEnabled:设置是否将应用程序图标转变程可点击按钮
添加ActionView
两种方式:
1:使用android:actionViewClass指定ActionView实现类
2:使用android:actionLayout指定ActionView对应的视图资源
实现Tab导航
1:调用actionBar的setNavigationMode
2:调用actionBar的addTab