如果你想在3.0+系统上使用系统的ActionBar而在3.0以前的系统上使用自定义的ActionBar,那么ActionBarSherlock就可以帮助你了.
ActionBarSherlock 是Android compatibility library 的一个扩展, 不知道什么原因 Android 兼容开发包没有包含ActionBar. 所以就有了ActionBarSherlock . 其使用方式和 兼容开发包类似.
下载地址: https://github.com/JakeWharton/ActionBarSherlock/zipball/3.4.2
有两种方式把ActionBarSherlock类库引入到你的项目中,:
使用Eclipse和ADT插件.
解压下载的文件, 用里面的library目录中的代码创建一个Android项目.然后在项属性中的Android选项里面设置该项目为library项目. 这样就可以在其他Android项目中使用了.
使用Maven.
如果你使用Maven来打包的话, 只需要添加一个依赖项即可:
<dependency>
<groupId>com.actionbarsherlock</groupId>
<artifactId>library</artifactId>
<version>3.4.2</version>
<type>apklib</type>
</dependency>
注意:需要在你项目pom.xml的资源库中添加 r.jakewharton.com/maven/release/.
另外 如果项目已经使用了Android兼容开发包,需要把他们移除, 因为ActionBarSherlock 已经包含了这些代码.
为了在3.0以前系统上使用ActionBar需要导入下面的类:
android.support.v4.app.ActionBar
android.support.v4.view.Menu
android.support.v4.view.MenuItem
这些类的名称和3.0系统中的一样.
使用ActionBar API需要你的Activity继承至FragmentActivity, 通过调用FragmentActivity.getSupportActionBar()函数来处理ActionBar事件, 而不能调用3.0系统中的getActionBar()函数.
ActionBar类的API和3.0系统中的一样, 详情参考这里的API文档.