オプションメニューの作り方は「オプションメニューの表示」を参照してください。ここではその差分を説明します。
メニューのリソースを下記のように作成します。差分は"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