【Android】【Java】AlertDialog を使ってみる 
2014/01/30 Thu [edit]
おおまかな ADV っぽいシステムは出来てしまったので、次は選択肢や確認ダイアログを作ってみようかと検討中。その前に通常のアクティビティで使える AlertDialog をテストしてみた。

Android エミュレータ
AlertDialog.Builder builder = new AlertDialog.Builder(this); //this は Context
builder.setTitle("タイトルだよん");
builder.setMessage("メッセージだよん");
builder.setIcon(android.R.drawable.ic_dialog_alert); //SDK の platforms/android-xx/data/res から
builder.setPositiveButton("はい", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//which = -1 (AlertDialog.BUTTON_POSITIVE) が返る
}
});
builder.setNegativeButton("いいえ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//which = -2 (AlertDialog.BUTTON_NEGATIVE) が返る
}
});
Dialog dialog = builder.create(); //Activity の onCreateDialog() の戻値など
dialog.show(); //←↑builder.show() でもできる。Activity の showDialog() を使ってるときは不要
this は Context を指す。アイコンはフリーをダウンロードしても良いが、インストールした SDK の platforms/android-xx/data/res 以下のアイコンを使えるみたいなのでやってみた。
リスナーには匿名インナークラスを使っているが、which には DialogInterface の定数が戻ってくる。
BUTTON_POSITIVE = -1
BUTTON_NEGATIVE = -2
BUTTON_NEUTRAL = -3
setNeutralButton() も使ってみたが、真ん中に出てくるね。右端の方が使いやすいのにな・・・。
ちなみに Activity の onCreateDialog() や showDialog() を使う分にはアクティビティのライフサイクルに乗るので、画面回転したときなどは自動的に復元してくれるが、独自のメソッドでダイアログを生成した場合は、画面回転で消える(自動復元しない)ので注意。
まぁ、ADVのシステムは SurfaceView を Thread によって独自のレンダリングしてるので、やはり自作するつもりだけどね。
選択肢なんかはゲーム中に画面中央にいきなり出ると、間違えて押してしまうので、確認クリックも付けた方がいいしね。
- 関連記事
トラックバック
トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/104-d1b0116b
この記事にトラックバックする(FC2ブログユーザー)
| h o m e |