9

The application currently has tabulations and bar custom made (by previous guy) from fragments to copy cat Apple design.

I want to move toward Android action bar to provide Android experience and usual behavior.

Should I implement Action Bar Sherlock or Action Bar Compat?

Pro ABS:

  • Lots of documentation
  • Action bar Tabs is well known (that's what I need to do)
  • About Holo theme? ABS is great to support it, how perform ABCompat?

Pro ABCompat:

  • Supported by Google (better in the long run?)
  • Better connection with navigation drawer (but I will not use one)
  • No external dependencies in Java Build path

What others arguments help decide? Which one should I pick ?

From my point of view, provided I succeed to do a action bar with fixed tabs, the Action Bar compatibility is the best choice (but not by much).

Thank you for helping me! (even providing arguments I missed)

4

3 回答 3

7

让我切换到 ActionBarCompat 的主要原因是 android <= 2.3 设备中的菜单出现。使用 ActionBarSherlock,菜单看起来很丑陋,带有设备的默认菜单。使用 ActionBarCompat,菜单的显示方式与您在 Android >= 4.0 和硬件菜单键的设备中打开它时的显示方式相同。

但是,请注意 ActionBarCompat 有一些错误需要解决。我正在处理这个错误:

SearchView 占用了新 ActionBarCompat 中的所有空间

更新:

另一个错误:

https://code.google.com/p/android/issues/detail?id=58321&thanks=58321&ts=1375277660

更新:

我创建了 ActionBarCompat 的修补版本来解决 ActionMode 的问题。看这里:

使用 ActionBarCompat r18 创建了两次 ActionMode

于 2013-07-31T12:20:10.960 回答
6

我将应用从 ABS 迁移到 Action Bar Compat 的原因如下:

  1. 我只有一个非常基本的操作栏选项卡实现,我可以看到迁移很简单

  2. 我更喜欢 Google 文档——它更清晰、更完整

  3. 软件维护将更简单,更不容易出错,因为我现在没有外部依赖项。

  4. 我遇到了 ABS 的问题,我想处理方向更改(但由于 ABS 与 Android 挂钩的方式,你不能这样做)。

  5. 我还没有看到任何与 ABS 相关的人关于他们对 ABS 的长期计划的任何声明。所以我不相信他们会继续支持它。我可能错了——但我什么都没看到。

  6. 性能对我来说并不是真正的问题,但我不明白为什么 Google 的“本机”实现会比 ABS 运行得慢,我怀疑它的性能可能会更好。

这些只是我个人的印象。

于 2013-07-31T11:18:13.107 回答
1

我认为 ActionBarSherlock 是一部出色的作品,对 Android 开发人员来说是一项很棒的服务。(顺便说一句,我在其开发者 Jake Wharton 中没有股份。)谷歌通过在 v7 中包含以基本相同的方式(据我所知)做基本相同的事情的东西,向它付出了最好的赞美。支持库。

但是现在该功能得到官方支持,一些标准参数适用于选择哪个。

ActionBarSherlock 是第三方依赖项,在持续支持方面存在风险。除非它做了一些你真正需要但 ActionBarCompat 没有做的事情,或者后者有一个你无法解决或等待修复的错误,否则几乎没有人支持坚持前者。

我最近从 ActionBarSherlock 迁移到 ActionBarCompat 并发现只有一两个小问题,主要是需要对用于操作栏选项卡指示器背景的库存 9 补丁图像进行细微调整,以产生标准选项卡行为在早期的 android 版本上,在我的例子中是 2.2==API 级别 8==Froyo。(具体来说,我调整了垂直可拉伸区域,使它们不与顶部边缘或图像底部的彩色指示条相邻。)

于 2013-08-06T19:42:28.913 回答