且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ActionBarSherlock — 无缝集成ActionBar

更新时间:2022-09-04 20:52:12

在前面我们介绍了Android 3.0系统引入的ActionBar如何在3.0以前系统上使用ActionBar. 如果你想在3.0+系统上使用系统的ActionBar而在3.0以前的系统上使用自定义的ActionBar,那么ActionBarSherlock就可以帮助你了.

ActionBarSherlock 是Android compatibility library 的一个扩展, 不知道什么原因 Android 兼容开发包没有包含ActionBar. 所以就有了ActionBarSherlock . 其使用方式和 兼容开发包类似.

下载地址: https://github.com/JakeWharton/ActionBarSherlock/zipball/3.4.2

有两种方式把ActionBarSherlock类库引入到你的项目中,:

  1. 使用Eclipse和ADT插件.
解压下载的文件, 用里面的library目录中的代码创建一个Android项目.然后在项属性中的Android选项里面设置该项目为library项目. 这样就可以在其他Android项目中使用了.
  1. 使用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文档.
在3.0+系统上使用原生的ActionBar实现, 如下图:
ActionBarSherlock — 无缝集成ActionBar

使用原生ActionBar

在3.0以前系统上使用自定义实现, 如下图:
ActionBarSherlock — 无缝集成ActionBar

使用自定义ActionBar



原文转载自 云在千峰: http://yunfeng.sinaapp.com/?p=240#ixzz1ysfbc7Fu