该应用程序目前有制表和bar 自定义(由前一个人)从片段复制cat Apple设计。
我想转向Android操作栏,以提供Android体验和常规行为。
我应该实施Action Bar Sherlock还是Action Bar Compat?
Pro ABS:
Pro ABCompat:
其他论据有何决定? 我应该选哪一个?
从我的角度来看,如果我成功地使用固定标签执行操作栏,则操作栏兼容性是最佳选择(但不是很多)。
谢谢你的帮助! (甚至提供我错过的论据)
答案 0 :(得分:7)
让我切换到ActionBarCompat的主要原因是具有android< = 2.3的设备中的菜单外观。使用ActionBarSherlock,菜单显得非常难看,使用设备的默认菜单。使用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
答案 1 :(得分:6)
我将我的应用程序从ABS迁移到Action Bar Compat的原因如下:
我只有一个非常基本的操作栏标签实现,我可以看到它很容易迁移
我更喜欢Google文档 - 它更清晰,更完整
软件维护将更简单,更不容易出错,因为我现在没有外部依赖项。
我遇到了ABS的问题,我想要处理一个方向更改(但你不能因为ABS挂钩到Android的方式)。
我没有看到任何与ABS有关的人就ABS的长期计划发表任何声明。所以我不相信他们会继续支持它。我可能错了 - 但我没有看到任何东西。
性能对我来说不是一个问题,但我不明白为什么Google的“原生”实现会比ABS运行得慢,我怀疑它可能会表现得更好。
这些只是我个人的印象。
答案 2 :(得分:1)
我认为ActionBarSherlock是一项出色的工作,也是Android开发人员的一项出色服务。 (顺便说一下,我没有Jake Wharton的开发者股票。)谷歌已经通过在v7中以基本相同的方式包含基本相同的东西(据我所知)来支付它最好的赞美支持图书馆。
但是现在官方支持该功能,一些标准参数适用于哪个选择。
ActionBarSherlock是第三方依赖项,代表持续支持方面的风险。除非它确实需要一些不是由ActionBarCompat完成的,或者后者有一个你无法解决或等待修复的错误,所以很少有人赞成坚持使用前者。
我最近从ActionBarSherlock迁移到ActionBarCompat,发现只有一两个小问题,主要问题是需要对用于操作栏选项卡指示器背景的库存9补丁图像进行微调,以便生成早期Android版本上的标准选项卡行为,在我的情况下2.2 == API级别8 == Froyo。 (具体来说,我调整了垂直可伸展区域,使它们不与图像底部的顶边或彩色指示条相邻。)