白い画面にオプションメニュー
今回は使用したファイルは1つだけですが、新しく「String.xml」ファイルをちょっとだけいぢりました。
「String.xml」ファイルをまず開き「追加」を押して「String」を追加。name、valueを決めるようになるので決めます。これを3つ追加します。
nameは menu_item0 menu_item1 menu_item2 valueは アイテム0、アイテム1、アイテム2と書いてください。
あなたは
人目のプログラマーだよ。
Androidプログラミング日記 (仮).
オプションメニューは、端末のメニューボタンを押したら下部からにゅっっと出てくるアレですね。スマホなどAndroid端末はボタンも少なく基本タップだけなので、色々な操作をするのにこのオプションメニューがあれば便利ですね。
今回は使用したファイルは1つだけですが、新しく「String.xml」ファイルをちょっとだけいぢりました。
「String.xml」ファイルをまず開き「追加」を押して「String」を追加。name、valueを決めるようになるので決めます。これを3つ追加します。
nameは menu_item0 menu_item1 menu_item2 valueは アイテム0、アイテム1、アイテム2と書いてください。
ファイル名「Option.java」 package and.roid.option; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.graphics.Color; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.LinearLayout; public class Optionmenu extends Activity { //登録するオプションメニューの種類3種 private static final int MENU_ITEM0=0, MENU_ITEM1=1, MENU_ITEM2=2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout layout = new LinearLayout(this); layout.setBackgroundColor(Color.rgb(255, 255, 255)); layout.setOrientation(LinearLayout.VERTICAL); setContentView(layout); } //メニューボタンを押すと、セットされたメニューを表示 public boolean onCreateOptionsMenu(Menu menu){ super.onCreateOptionsMenu(menu); //add(0,MENU_ITEM0,0,R.string.menu_item0) //引数はグループID、アイテムID、優先順位、アイテムタイトルです MenuItem item0 = menu.add(0,MENU_ITEM0,0,R.string.menu_item0); //アイコン設定 item0.setIcon(android.R.drawable.ic_menu_add); MenuItem item1 = menu.add(0,MENU_ITEM1,0,R.string.menu_item1); item1.setIcon(android.R.drawable.ic_menu_call); MenuItem item2 = menu.add(0,MENU_ITEM2,0,R.string.menu_item2); item2.setIcon(android.R.drawable.ic_menu_save); return true; } //オプションメニューを選択した時の処理 public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()){ case MENU_ITEM0: showDialog(this,"","アイテム0を押した"); return true; case MENU_ITEM1: showDialog(this,"","アイテム1を押した"); return true; case MENU_ITEM2: showDialog(this,"","アイテム2を押した"); return true; } return true; } //ダイアログを表示させる処理 private void showDialog(final Activity activity, String title, String text) { AlertDialog.Builder ad = new AlertDialog.Builder(activity); ad.setTitle(title); ad.setMessage(text); ad.setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { activity.setResult(Activity.RESULT_OK); } }); ad.create(); ad.show(); } } |
||
こんな感じで表示されます。今回アイコンは、もともと内蔵されているアイコンを使用しています。どれか押すとダイアログが現れます。
これをアプリに組み込むと色々な操作ができるようになりますね。