【问题标题】:About action bar on old and new platform in my case关于我的新旧平台上的操作栏
【发布时间】:2012-02-22 09:25:11
【问题描述】:

我的项目需要支持 Android 2.1 及以上版本,在 Android 2.1 上,应用应该有一个 action bar 看起来与 Android 上的原生 action bar 完全一样3.2+。

我尝试使用ActionbarSherlock库来实现操作栏,但是在android 2.1平台上,没有overflow部分(最右边的选项字段) 在操作栏上,而是使用物理 “菜单” 按钮。在 android 2.1 上,操作栏的最左侧也没有“箭头”。

所以,看来我必须为 Android 2.1 手动实现 操作栏

我的问题:

1.关于如何为 Android 2.1

手动实现 Action bar 的任何建议

2. 项目还要求,如果应用在android 3.2+平台上运行,应用必须使用原生的action bar API。这意味着我的项目应该能够自动切换到不同平台版本上的不同实现。 (在 android 2.1 上,使用手动实现的操作栏,而在 android 2.3+ 上使用本机操作栏)。如何做到这一点?

【问题讨论】:

标签: android android-layout android-intent android-widget actionbarsherlock


【解决方案1】:

ActionBarSherlock 版本 3 使用本机选项菜单进行溢出,如果存在硬件菜单键,这正是本机 ICS 操作栏将使用的内容。它还通过与原生操作栏 setDisplayHomeAsUpEnabled(true) 相同的 API 提供“向上”功能。

几乎完成的版本 4(可以尝试here)仍然通过完全相同的 API 提供“向上”功能,但也允许您强制溢出项目出现在 3.0 之前的设备上,尽管存在硬件菜单键。试用最新的示例 APK...

在这个阶段不使用 ActionBarSherlock 或 Android-ActionBar 甚至 ActionBarCompat 之类的库会浪费您的大量时间。编写它们的全部原因是为了让您更轻松地编写实际应用程序,而不是围绕它的所谓样板。

【讨论】:

  • @Jake,你在 Android 2.1 平台上测试过吗,使用 sherlock v4 时似乎在 2.1 平台上没有“up”功能,这就是我发布这个问题的原因
猜你喜欢
  • 2012-03-13
  • 2011-03-03
  • 2012-04-17
  • 2015-07-04
  • 1970-01-01
  • 2020-11-18
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多