Android:オプションメニュー表示
アプリケーションにメニューを表示させてみよう!
っということで今回はオプションメニューとコンテキストメニューのうち、
「オプションメニュー」の表示を行いたいと思います。
参考資料
「6.2 メニューの作成」
「Android メニューアイコン」
・オプションメニューの表示のために使用するクラスは Menu を使用する。
・メニュー個々のアイテムに関するクラスは MenuItem を使用する。
・メニューの設定は onCreateOptionsMenu で実施する。
・メニュー内の選択におけるハンドラは onOptionsItemSelected で実施する。
・メニューの項目設定においてはiconの設定も可能となっている。
iconは R.drawable のものが使用可能となっている。
サンプルコード
っということで今回はオプションメニューとコンテキストメニューのうち、
「オプションメニュー」の表示を行いたいと思います。
参考資料
「6.2 メニューの作成」
「Android メニューアイコン」
・オプションメニューの表示のために使用するクラスは Menu を使用する。
・メニュー個々のアイテムに関するクラスは MenuItem を使用する。
・メニューの設定は onCreateOptionsMenu で実施する。
・メニュー内の選択におけるハンドラは onOptionsItemSelected で実施する。
・メニューの項目設定においてはiconの設定も可能となっている。
iconは R.drawable のものが使用可能となっている。
サンプルコード
package tomonobu.com.test.program1;
import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
import android.text.ClipboardManager;
import android.text.SpannableStringBuilder;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.TextView.BufferType;
import android.widget.LinearLayout;
public class Test_program_1Activity extends Activity {
private static final int MENU_COPY = 0;
private static final int MENU_PASTE = 1;
private final int WRAP_CONTENT = ViewGroup.LayoutParams.WRAP_CONTENT;
private final int FILL_PARENT = ViewGroup.LayoutParams.FILL_PARENT;
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
setContentView(linearLayout);
final EditText edit = new EditText(this);
final TextView tv = new TextView(this);
edit.setHeight(300);
edit.setId(R.id.text_edit);
edit.setText("Test test", BufferType.NORMAL);
linearLayout.addView(edit,
new LinearLayout.LayoutParams(FILL_PARENT, WRAP_CONTENT));
tv.setId(R.id.text_view);
linearLayout.addView(tv,
new LinearLayout.LayoutParams(FILL_PARENT, WRAP_CONTENT));
}
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, MENU_COPY, 0, "コピー").setIcon(android.R.drawable.ic_menu_save);
menu.add(0, MENU_PASTE, 0, "ペースト");
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
final ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
switch (item.getItemId()) {
case MENU_COPY:
SpannableStringBuilder sb =
(SpannableStringBuilder)((EditText)findViewById(R.id.text_edit)).getText();
cm.setText(sb.toString());
break;
case MENU_PASTE:
((TextView)findViewById(R.id.text_view)).setText(cm.getText().toString());
break;
}
return true;
}
}
by Tomonobu1979
| 2011-07-16 20:59
| android