Googleのドキュメントによると、3.0ではメニューがActionBarに置き換えられ、メニューはActionBar自体になります。そこで、3.0と4.0のエミュレータを起動しましたが、メニューはまだメニューとして表示されます。私は何かが足りないのですか?
編集:minSdkVersion 4を使用しているので、3.0以降のデバイスで問題が発生しますか?
Googleのドキュメントによると、3.0ではメニューがActionBarに置き換えられ、メニューはActionBar自体になります。そこで、3.0と4.0のエミュレータを起動しましたが、メニューはまだメニューとして表示されます。私は何かが足りないのですか?
編集:minSdkVersion 4を使用しているので、3.0以降のデバイスで問題が発生しますか?
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以降でのみ実行されます。