オプションメニューの作り方は「オプションメニューの表示」を参照してください。ここではその差分を説明します。
メニューのリソースを下記のように作成します。差分は"showAsAction"属性に"ifRoom"を設定していることです。この設定をすると、スペースがあればAction Barに表示するようになります。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/item1" android:title="@string/menu1" android:showAsAction="ifRoom" android:icon="@android:drawable/ic_menu_add"></item>
<item android:id="@+id/item2" android:icon="@android:drawable/ic_menu_share" android:showAsAction="ifRoom"></item>
<item android:id="@+id/item3" android:title="@string/menu3" android:showAsAction="ifRoom"></item>
<item android:id="@+id/item4" android:title="@string/menu4" android:showAsAction="ifRoom"></item>
</menu>
縦スクリーンで表示した場合、一部のみAction Barに表示されています。残りはオプションメニューでの表示となります。
横スクリーンで表示した場合、スペースがあるため、すべてAction Barに表示されています。
Action Barはアイコン優先、オプションメニューではテキストが表示されます。
また、縦スクリーンでは右上に表示するのではなく、画面下部に分割して表示することも可能です(横幅が狭いときのみ有効なので、幅広な横スクリーンでは使えません)。AndroidManifest.xmlのapplicationやactivityに下記のような"uiOptions"を設定します。
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:uiOptions="splitActionBarWhenNarrow">
参考:Android Developers:Action Bar
参考:Android Developers:Action Bar Icons



No comments:
Post a Comment