0

Googleのドキュメントによると、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 に答える