2012年4月7日土曜日

バックキー長押しからのリストダイアログ表示からの酒飲みたい

既にオプションメニューに毛色の違うメニューを実装しているので、
違うインターフェースを模索してみた。

・画面長押し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 件のコメント:

コメントを投稿