・AlertDialog
まずは標準的なダイアログであるAlertDialogです。
キャプチャ画像を見れば分かりますが、ボタンの並びは左から「否定ボタン」「中立ボタン」「肯定ボタン」になります。
※但し、この並びはAndroidのバージョンで変わる可能性があるので(実際、たしか4.0になった時に否定と肯定の位置が入れ替わってます)、左側ボタンを設定したいからsetNegativeButton()を使うといった実装は止めましょう。
// タイトル、メッセージ、ボタンを設定 AlertDialog.Builder builder = new AlertDialog.Builder(this); // ※thisはActivity自身 builder.setTitle("Alert Dialog") // タイトル .setMessage("message.") // メッセージ // 肯定ボタン .setPositiveButton("Yes", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { System.out.println("YesButtoon clicked in alert dialog."); } }) // 否定ボタン .setNegativeButton("No", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { System.out.println("NoButtoon clicked in alert dialog."); } }) // 中立ボタン .setNeutralButton("Cancel", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { System.out.println("CancelButtoon clicked in alert dialog."); } }); // ダイアログを表示 builder.show();AlertDialog.Builderで各設定を行い、AlertDialog.Builder.show()で表示します。
キャプチャ画像を見れば分かりますが、ボタンの並びは左から「否定ボタン」「中立ボタン」「肯定ボタン」になります。
※但し、この並びはAndroidのバージョンで変わる可能性があるので(実際、たしか4.0になった時に否定と肯定の位置が入れ替わってます)、左側ボタンを設定したいからsetNegativeButton()を使うといった実装は止めましょう。
・DatePickerDialog
DatePickerDialogは日付を選択するためのダイアログです。
ダイアログで設定された日付が引数に格納されているので、ここで必要に応じて保存処理等を行います。
// 日付が設定されたときのリスナを定義 OnDateSetListener listener = new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { System.out.println("picked date => " + year + "/" + monthOfYear + "/" + dayOfMonth); } }; // 初期表示日付を今日に設定してダイアログを表示 Calendar now = Calendar.getInstance(); new DatePickerDialog(this, // ※thisはActivity自身 listener, now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DATE)).show();onDateSet()はダイアログで「設定ボタン」が押されたときに呼ばれます。
ダイアログで設定された日付が引数に格納されているので、ここで必要に応じて保存処理等を行います。
・TimePickerDialog
TimePickerDialogは時刻を選択するためのダイアログです。
コンストラクタの5番目の引数is24HourViewは、24時間表記かどうかを指定します。trueにすると24時間表記、falseにすると12時間表記になります。
// 時間が設定されたときのリスナを定義 OnTimeSetListener listener = new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { System.out.println("picked time => " + hourOfDay + " : " + minute); } }; // 初期表示時間を現時刻に設定してダイアログを表示 Calendar now = Calendar.getInstance(); new TimePickerDialog(this, // ※thisはActivity自身 listener, now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE), true).show();基本的にDatePickerDialogと同じです。OnTimeSetListener()はダイアログで「設定ボタン」が押されたときに呼ばれるので、ここで保存処理等を行います。
コンストラクタの5番目の引数is24HourViewは、24時間表記かどうかを指定します。trueにすると24時間表記、falseにすると12時間表記になります。
0 件のコメント:
コメントを投稿