既にオプションメニューに毛色の違うメニューを実装しているので、
違うインターフェースを模索してみた。
・画面長押しorダブルタップ
・ハードウェアキー長押し
あたりがぱっと浮かんだけど、リストビューを使ってるから前者難しそう。てことで後者。
オプションキーとホームキーは仕様上使えないぽい。
のでバックキーに割り当てよう。
まずバックキー長押し取得。
(参考:http://techbooster.jpn.org/andriod/device/4053/)
onKeyLongPressを実装する。
拾ったeventのキーコードを取得して定数と照らし合わせる。わぁ素敵。
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
Toast.makeText(this, "バックキー長押し", Toast.LENGTH_SHORT ).show();
return true;
}
テストでトースト表示。
で、次。
イベントの目的はというと、画面レイアウトの変更をしたいので、リストダイアログを呼び出すことにする。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("選択");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
}
});
AlertDialog alert = builder.create();
alert.show();
こんな感じ。
itemsはstr[]。
長くなったんで次の記事へ。
0 件のコメント:
コメントを投稿