【问题标题】:Choosing Sherlock Actionbar over Support Libraries选择 Sherlock 操作栏而不是支持库
【发布时间】:2013-12-03 13:45:43
【问题描述】:

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

【问题讨论】:

标签: android actionbarsherlock


【解决方案1】:

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 使用支持库。

【讨论】:

  • Android 支持库现在有 ActionBar 有什么更新吗? developer.android.com/reference/android/support/v7/app/…
  • 在提出问题时,支持库不支持操作栏。现在,我记得在某处读到 Jake Wharthorn 将停止支持 Sherlock,一旦支持库将具有操作栏。因此,Sherlock 可能很快就会被弃用。但是,考虑到您的问题,答案是正确的。
【解决方案2】:

支持库与支持库版本 18 之前的操作栏不兼容,因此自然选择 ActionBarSherlock 库。

但是,从 7 月的某个版本的第 18 版开始,它现在得到了支持,我不确定它有多好,因为我没有使用它,但在未来的项目中,我将倾向于支持库,因为它由 Google 支持。

支持库修订说明的链接是here

【讨论】:

  • 您能分享您在 pre-ICS 设备上使用支持 ActionBar 的经验吗?
  • 我还没有使用支持库 Action Bar,因为我从事的项目已经实现了 Action Bar Sherlock。不过,我会倾向于使用支持库之一
【解决方案3】:

如果我没记错的话,ActionBar 仅在 API 11+ 中可用,并且支持库不包括 API

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

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

【讨论】:

  • 支持库现在支持操作栏。请参阅下面的答案。
  • 恰恰相反。 “添加了 ActionBar 以允许将操作栏用户界面设计模式实现回 Android 2.1(API 级别 7)及更高版本。使用此类需要您通过扩展新的 ActionBarActivity 类来实现您的活动。” - developer.android.com/tools/support-library/index.html .它已经被支持了
猜你喜欢
  • 1970-01-01
  • 2013-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
相关资源
最近更新 更多