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