5

我注意到操作栏 (Theme.Holo) 仅在 android 3.0 或更高版本中看起来很酷,但在例如 Android 2.3 上它不喜欢。

是否可以显示基于 Android 版本的操作栏(Theme.Holo)?

4

2 回答 2

5

操作栏至少需要 API 11。如果您想以编程方式删除它,尽管您可以在该活动的代码中使用 hide()。

ActionBar actionBar = getActionBar();
actionBar.hide();

不太确定对于低于 3.0 的任何东西它会显示什么,但它似乎是最好的起点。

编辑:

您可以在运行时使用构建常量检查 SDK 版本

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { //checks if its lower than Honeycomb
    ActionBar actionBar = getActionBar();
    actionBar.hide();
}
于 2012-08-31T21:15:19.023 回答
4

这是因为直到 Android 3.0(API 级别 11)才添加 ActionBar,因此任何低于该版本的 Android 版本都将具有标题栏,而不是操作栏。

ActionBar 还不是官方兼容性库的一部分,所以与此同时,ActionBarSherlock库将允许您拥有一个在所有 API 版本中看起来都相同的 ActionBar。

如果您想完全隐藏 ActionBar,只需将 android:style/Theme.Holo.NoActionBar 添加到清单中的活动即可。

于 2012-08-31T21:21:23.817 回答