<< Android-Note
ActionBarActivityでアクションバーにメニュー表示
今までアクションバーを持つアプリを作るにはActionBarSherlockのような外部ライブラリが必要でした。
しかし、Android Support Library Rev.18からはActionBarActivityが追加されたのでAndroid3.0未満でもアクションバーを持つアクティビティを作ることができるようになりました。
なぜアクションバーを使うかというと、タイトルのほかにメニューを置いたり、そのほかのウィジェットを設置したりしてアプリの空きスペースを有効利用できるからです。
ここではActionBarActivityを使ってアクションバーにメニューを設置する方法を紹介します。
レイアウト
まず、プロジェクトのres/menuフォルダ以下に次のようなメニューのレイアウトファイルを作ります。
menu.xml
<?xml version="1.0"encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:MyApp="http://schemas.android.com/apk/res-auto">
<group android:menuCategory="container">
<item android:id="@+id/settingItem"android:title="Settings"
android:icon="@drawable/settings"
MyApp:showAsAction="always">
</item>
</group>
</menu>
メニューバーにメニューを設置したいときはshowAsAction属性に"always"という値を渡します。
しかし、showAsActionはAPIレベル11以上からサポートされるようになったので、代わりにhttp://schemas.android.com/apk/res-autoという名前空間を使用します。
xmls:MyAppは名前空間の接頭辞なのでxmls:以下は自分のアプリ名などの任意の名前に置き換えて下さい。
メニューを作る
次にActionBarActivityのonCreateOptionsMenuメソッドでレイアウトからメニューを生成します。
class MyActivity extends ActionBarActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); return true; } }
アクションバーには次のようにアイコンが表示されます。
以上、ActionBarActivityの使い方について簡単に紹介しました。では、また!
関連項目
© Kaz