0

我的项目需要支持Android 2.1及更高版本,在 Android 2.1 上,应用程序应该有一个与 Android 3.2+ 上的原生操作完全相同的操作栏。

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

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

我的问题:

1.关于如何为Android 2.1手动实现Action bar的任何建议

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

4

1 回答 1

1

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

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

在这个阶段不使用像 ActionBarSherlock 或 Android-ActionBar 甚至 ActionBarCompat 这样的库会浪费你的时间。编写它们的全部原因是为了让您更容易编写实际的应用程序,而不是围绕它的所谓的样板文件。

于 2012-02-22T12:16:14.143 回答