0

谷歌文档说菜单在 3.0 中被 ActionBar 取代,并且菜单将成为 ActionBar 本身。所以我启动了 3.0 和 4.0 的模拟器,但菜单仍然显示为菜单。我错过了什么吗?

编辑:我使用的是 minSdkVersion 4,那么在 3.0 或更高版本的设备中会出现问题吗?

4

1 回答 1

2

您需要使用 API 级别 15 或更高级别来构建应用程序。为此,请在您的清单中使用以下内容:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

minSdkVersion 定义了与您的应用程序兼容的最低 API,在该 API 上菜单仍将显示为菜单。在 Android 3.0 或更高版本上,菜单将在操作栏上显示溢出按钮。

另外,您可以使用以下内容将 MenuItem 显示为操作:

if (VERSION.SDK_INT >= 11){
    theMenuItem.setShowAsAction(SHOW_AS_ACTION_IF_ROOM);
}

或在 xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/the_menu_item"
          android:title="@string/the_item"
          android:showAsAction="ifRoom"/>
</menu>

此代码只会在 Honeycomb 或更高版本上执行。

于 2012-06-07T09:41:13.130 回答