5

为什么我们应该选择在 Android 中使用 Sherlock 操作栏而不是支持库?是否有充分的理由使用一个高于另一个?

4

3 回答 3

3

Sherlock Action Bar目的是为ActionBar11 以下的 API 级别添加视觉概念实现(因为ActionBar在 API 级别 11 中添加了)。取自ActionBarjavadoc:“活动顶部的窗口功能,可以显示活动标题、导航模式和其他交互项。

支持库(顾名思义)是一个 jar,它提供在较新版本的 Android 中添加到较旧版本的 API。我能想到的最好的例子是Fragment实现:在 API 级别 11 中添加使得跨应用程序集成 UI 的不同部分变得如此容易。但这仅适用于以上 API 级别 11。因此,当支持库发布时,它为低于 11 的 API 级别提供了此功能。

所以这两个是独立的概念(一个仅用于 UI,而另一个用于支持旧 Android 版本中的新 API)。要添加更多内容,Sherlock AB使用支持库。

于 2013-07-17T08:51:36.307 回答
2

如果我没记错的话,ActionBar 仅在 API 11+ 中可用,并且支持库不包括 API < 11 的 ActionBar 库。ActionBarSherlock 是一个让您支持 API 7+ 中的 ActionBar 的库。

PS:我相信谷歌很快就会在支持库中包含一个 ActionBar API。所以他们在今年的 Google I/O 上说。

更新:Google 在支持库中添加了 ActionBar(适用于 API 7+)。

于 2013-07-17T08:52:12.557 回答
2

支持库不兼容 Action Bar pre Support Library 第 18 版,因此自然选择 ActionBarSherlock 库。

然而,从 7 月的某个时候发布的第 18 版开始,它现在受到支持,我不确定它有多好,因为我没有使用它,但在未来的项目中,我将倾向于支持库,因为它由谷歌支持。

支持库修订说明的链接在这里

于 2013-08-01T09:56:39.700 回答