Activityのmenuを使う方法です。
レイアウトはmenuで設定して、処理はActivityのメソッドをオーバーライドです。
○まず、menuのレイアウト例
/res/menu/menu_samp.xml
メニュー項目3つ。その1つめはサブメニュー付きにしてみた
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/item1" android:title="t1">
<menu>
<item android:id="@+id/item4" android:title="sub1"/>
<item android:id="@+id/item5" android:title="sub2"/>
<item android:id="@+id/item6" android:title="sub3"/>
</menu>
</item>
<item android:id="@+id/item2" android:title="t2"></item>
<item android:id="@+id/item3" android:title="t3"></item>
</menu>
○ソースコード
Activity のクラスの中に以下のメソッドを置く
//メニューボタンが表示されたときのレイアウトを指定する
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = this.getMenuInflater();
menuInflater.inflate(R.menu.menu_samp, menu);
return true;
}
//ここで選択されたときの処理を入れる
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch(item.getItemId()) {
case R.id.item1 :
return true;
case R.id.item2 :
return true;
case R.id.item3 :
return true;
case R.id.item4 : //sub1
return true;
case R.id.item5 : //sub2
return true;
case R.id.item6 : //sub3
return true;
}
return super.onMenuItemSelected(featureId, item);
}
名前の付け方を工夫しないと数が多くなったときに困りそうですね。
細かいオプションはlayoutで指定できるのでらくそうです。
0 件のコメント:
コメントを投稿