ActionBarSherlock Android兼容ActionBar库

Android 2.x 的 ActionBar 支持一直是个挺头疼的问题,是想用统一的方式写代码还不想放弃兼容性。ActionBarSherlock 就是为了这个痛点诞生的。它是 Jake Wharton 写的一个兼容库,让你在 Android 2.1+ 上也能用上类似现代 ActionBar 的体验,API 还一致,写起来省心多了。

兼容性的 ActionBar 真的挺香的,用了 ActionBarSherlock 以后,你不用关心手机系统版本差异,直接 getSupportActionBar() 一把梭,逻辑基本一样,维护成本也低。

集成也不麻烦,把库拉进来(作为 module),在你的 AndroidManifest.xmlstyles.xml 里套用它的主题。用 SherlockActivitySherlockFragmentActivity 当基类,后面基本跟原生写法差不多。

功能也挺全,什么 tabs、下拉导航、操作按钮、上下文菜单,几乎都能搞定。而且你要自定义样式也简单,直接改 res/values/styles.xml,颜色字体背景随你改。

实战里最常见的用法,一个是 Tab 导航,比如要做个新闻类 App,各个频道放到 tab 里切换就挺合适;另一个是 上下文菜单,列表里选中几个 item 后弹出操作栏,用 ActionMode 就能搞定。

注意点也有:用这个库多多少少会增加一点 APK 体积,性能也稍微有点开销。所以如果你只打算支持 Android 5.0+,那就直接用原生的 ActionBar 更简单。但如果还得兼容低版本,那就别犹豫,ActionBarSherlock 是个不错的选择。

如果你现在还在维护旧项目,或者需要照顾到 Android 4.x 甚至 2.x 的设备,不妨试试 ActionBarSherlock,用起来真挺顺手的。

zip 文件大小:5.37MB