戌印-INUJIRUSHI- (Androidあれこれ)

Androidのプログラミングをメインにしてます。記事に貼られたソースコードはダブルクリックすることで行番号をはずしてコピーすることができます。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
10

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

オプションメニュー:Menu

Menu はメニューボタン押下時に画面下部に表示されるメニューです。
(プログラムから呼び出すことも可能です)

Reference: Menu, MenuItem
ソフトウェア技術ドキュメントを勝手に翻訳 - 6.2 メニューの作成

■ 画面イメージ -----------------------------------------------
android_Menu.png

■ ソースコードで定義 -----------------------------------------
package jp.inujirushi.sample.activity;

import jp.inujirushi.sample.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MenuActivity extends Activity {
/** メニューID */
private static final int MENU_1 = 1;
private static final int MENU_2 = 2;

/** アクティビティを生成した時に呼ばれます。 */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// オプションメニューを呼び出すボタンを追加
setContentView(R.layout.sample_button);
Button btnMenu = (Button) findViewById(R.id.button1);
btnMenu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// オプションメニューをプログラム側から開きます
openOptionsMenu();
}
});
}

/** オプションメニューが生成された時に呼ばれます。 */
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// メニューを追加します
// 引数は左からグループID、アイテムID、表示順、表示文字列
menu.add(Menu.NONE, MENU_1, 0, "メニュー1");
menu.add(Menu.NONE, MENU_2, 1, "メニュー2");

return super.onCreateOptionsMenu(menu);
}

/** オプションメニューが表示される時に呼ばれます。 */
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// メニューアイテムを取得する
MenuItem item = menu.findItem(MENU_1);
// メニューを呼ぶたびに表示・非表示が切り替わるように設定する
item.setVisible(!item.isVisible());

return super.onPrepareOptionsMenu(menu);
}

/** オプションメニューが選択された時に呼ばれます。 */
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case MENU_1:
// メニュー1が押された
Toast.makeText(this, "メニュー1が押されました", Toast.LENGTH_SHORT).show();
break;

case MENU_2:
// メニュー2が押された
Toast.makeText(this, "メニュー2が押されました", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}

/** オプションメニューを閉じる時に呼ばれます。 */
@Override
public void onOptionsMenuClosed(Menu menu) {
super.onOptionsMenuClosed(menu);
// 終了時に何か処理を行いたい時はここに記述します
}
}
スポンサーサイト

Comments

Leave a Comment


Body
プロフィール

とむ・やむくん

Author:とむ・やむくん
管理人について

Windows 7 / 64bit
Eclipse 4.2 Juno (日本語パッチ済)

スポンサーサイト
最新トラックバック
検索フォーム
ブロとも申請フォーム
QRコード
QR
Twitter
2013/01/04 19:00 カウント開始

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。