2011年5月10日火曜日

XMLからメニューを作成する方法

XMLからメニューを作成する方法
android.view.MenuInflater の inflate を使用することで実装できます。

res\menu に作成したいメニューのXMLファイルを作成します。
  • id はメニューを識別するユニークなキーを設定
  • title はメニューに表示されるテキストを指定
  • icon はメニューに表示されるアイコンを指定

[setting.xml]
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/SettingAboutMenuItem"
        android:title="@string/menu_item_about"
        android:icon="@android:drawable/ic_menu_info_details" />
</menu>

表示したい Activity の onCreateOptionsMenu をオーバーライドします。
inflater.inflate で前述のメニューXMLのリソースIDを指定します。
onOptionsItemSelected をオーバーライドすることでイベントを処理します。

[SettingActivity.java]
package jp.co.capricornus.sample;

// import 部分は省略

public class SettingActivity extends Activity {

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.setting, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.SettingAboutMenuItem:
            // 処理内容は省略
            return true;
        }
        return false;
    }
}

0 件のコメント:

コメントを投稿