2011年10月31日月曜日

Androidでメニューボタン

どもども、最近は寒くなったり、暑くなったり落ち着きがないですね。
皆様体調管理はできていますでしょうか?

私は、最近めっきり風邪をひかなくなってきました。
『あれ』は風邪ひかないって言いますからね。

ということで、今回の更新は、スマートフォンのメニューボタンを押した際の、
メニューを作ってみようかと思います。

以前はメイン画面にボタンを置いて画面遷移を組もうかなと思っていましたが、
やはり、あるものは使ってみようかなと思いまして調べてみました。

現状の画面は上記のような感じです。
赤丸で囲んでいるボタンの部分を右側のMENUボタンを押したらメニューが出て
選べるようにする予定です。

そもそもオプションメニューを作成するイベント自体は、Activityに準備されているようです。

画面起動時にだけコールされるメソッド:onCreateOptionsMenu
オプションメニュー起動時にコールされるメソッド:onPrepareOptionsMenu

オプションメニューが選択された場合のメソッド:onOptionsItemSelected

という3種類のものを使えばオプションメニューの実装ができそうです。

今回はとりあえず画面起動時に生成されるonCreateOptionsMenuを使用したいと思います。

Menuが引数なので、こちらのaddメソッドを呼び出して、ボタンを作るようです。

public boolean onCreateOptionsMenu(Menu menu) {
    // メニューアイテムを追加します
    menu.add(Menu.NONE, Constant.MENU_NEXT_PAGE, Menu.NONE, "Next Page");
    return super.onCreateOptionsMenu(menu);
}
といった感じのようですね。

で、今度はメニューが選択された場合のメソッドonOptionsItemSelectedを実装します。
public boolean onOptionsItemSelected(MenuItem item) {
    boolean ret = true;
    switch (item.getItemId()) {
    default:
        ret = super.onOptionsItemSelected(item);
        break;
    case Constant.MENU_NEXT_PAGE:
        // ここに処理を書く
        ret = true;
        break;
    }
    return ret;
}
こちらを実行すると、

オプションメニューを表示することができました。

以前作成した、画面遷移の処理を上記のサンプルソースの『// ここに処理を書く』
の部分に書いた所、
画面遷移することができました。

オプションメニュー自体を作るのはとても簡単に実装することができそうです。
やはりスマートフォンの画面サイズはあまり大きくはないので、
できるだけボタンなどでスペースを使わないことも重要かなと思いましたので、
オプションメニューを使っていくように作りたいと思います。

次回は、レイアウトをしっかりと作成して、
画面遷移をしっかりと検討したいと思います。

ではでは。

0 件のコメント:

コメントを投稿