【问题标题】:Implementing an Action Bar: ABSherlock or ABCompat?实现一个操作栏:ABSherlock 还是 ABCompat?
【发布时间】:2013-07-31 11:08:17
【问题描述】:

该应用程序当前具有表格和栏定制(由以前的人)从片段到复制猫Apple设计。

我想转向 Android 操作栏以提供 Android 体验和通常的行为。

我应该实现 Action Bar Sherlock 还是 Action Bar Compat?

专业 ABS:

  • 大量文档
  • 操作栏选项卡众所周知(这是我需要做的)
  • 关于 Holo 主题? ABS很好支持,ABCompat表现如何?

专业 ABCompat:

  • 受 Google 支持(从长远来看会更好?)
  • 与导航抽屉的连接更好(但我不会使用)
  • Java 构建路径中没有外部依赖项

其他哪些论据有助于决定? 我应该选择哪一个?

从我的角度来看,如果我成功地做了一个带有固定标签的操作栏,那么操作栏兼容性是最好的选择(但不是很多)。

谢谢你帮助我! (甚至提供我错过的论点)

【问题讨论】:

    标签: android actionbarsherlock android-actionbar android-actionbar-compat


    【解决方案1】:

    让我切换到 ActionBarCompat 的主要原因是 android = 4.0 和硬件菜单键的设备中打开它时的显示方式相同。

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

    SearchView taking all the space in the new ActionBarCompat

    更新:

    另一个错误:

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

    更新:

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

    The ActionMode is being created twice with the ActionBarCompat r18

    【讨论】:

    • 好的,谢谢您的信息!我已经看到了你的错误问题(因为我正在寻找关于 ABCompat 的第一个反馈)
    • 我刚刚发现了另一个错误。好吧,我的建议是:不要像我一样成为早期采用者。每天我都会发现一个破坏我的应用程序的新错误。我不回到 ActionBarSherlock 的唯一原因是旧版本的菜单。
    • “不要成为早期采用者”,我现在必须实现一个actionBar(很快完成实习)。由于低支撑,ABSherlock 将在多长时间内开始显示疲软?现在,我的应用程序中没有真正的操作栏。你认为我应该让 ActionBarCompat 成熟并选择 ABS,还是因为它不是关于迁移所以最好选择 ABCompat?
    • 看,迁移到 ActionBarCompat 非常容易。迁移时没有太多需要修改的地方。因此,如果您对旧 Android 的菜单显示方式没有问题,并且不想与错误作斗争,那么您应该使用 ActionBarSherlock 并在未来迁移。我在这里发布了一些我在迁移到 ActionBarcompat 时遇到的问题:stackoverflow.com/a/17887573/1140713
    【解决方案2】:

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

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

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

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

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

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

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

    这些只是我个人的印象。

    【讨论】:

    • 谢谢!发人深省!
    【解决方案3】:

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

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

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

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

    【讨论】:

    • 是的,我完全同意 ActionBarSherlock。如果我遇到类似的问题,我会记住您的问题。
    猜你喜欢
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多