【发布时间】:2013-12-03 13:45:43
【问题描述】:
为什么我们应该选择在 Android 中使用 Sherlock 操作栏而不是支持库?是否有充分的理由使用一个高于另一个?
【问题讨论】:
为什么我们应该选择在 Android 中使用 Sherlock 操作栏而不是支持库?是否有充分的理由使用一个高于另一个?
【问题讨论】:
Sherlock Action Bar 的目的是为低于 11 的 API 级别添加 ActionBar 视觉概念实现(因为在 API 级别 11 中添加了ActionBar)。取自ActionBar javadoc:“活动顶部的窗口功能,可以显示活动标题、导航模式和其他交互项。”
Support library(顾名思义)是一个 jar,它提供了在较新版本的 Android 中添加到较旧版本的 API。我能想到的最好的例子是 Fragment 实现:在 API 级别 11 中添加使得跨应用程序集成 UI 的不同部分变得如此容易。但这仅适用于以上 API 级别 11。因此,当支持库发布时,它为低于 11 的 API 级别提供了此功能。
所以这两个是独立的概念(一个仅用于 UI,而另一个用于支持旧 Android 版本中的新 API)。要添加更多内容,Sherlock AB 使用支持库。
【讨论】:
支持库与支持库版本 18 之前的操作栏不兼容,因此自然选择 ActionBarSherlock 库。
但是,从 7 月的某个版本的第 18 版开始,它现在得到了支持,我不确定它有多好,因为我没有使用它,但在未来的项目中,我将倾向于支持库,因为它由 Google 支持。
支持库修订说明的链接是here。
【讨论】:
如果我没记错的话,ActionBar 仅在 API 11+ 中可用,并且支持库不包括 API
PS:我相信谷歌很快就会在支持库中包含一个 ActionBar API。所以他们在今年的 Google I/O 上说。
更新: Google 在支持库中添加了 ActionBar(适用于 API 7+)。
【讨论】: