Androidプログラミングの基礎[7-2] ダイアログ [Android]
今回のテーマは「ダイアログを使いこなす」後編です。
第7回: ダイアログを使いこなす(後編)
4.プログレスダイアログ
時間のかかる処理の進捗度合いを知らせる水平および円形のスタイルを持つプログレスバーをもつダイアログについて説明する。
プログレスダイアログの作成には、ProgressDialogクラス(android.app.ProgressDialog)を利用する。
◎ サンプル
プロジェクト設定
・新規Androidアプリケーション
アプリケーション名 | Progress |
プロジェクト名 | Progress |
パッケージ名 | jp.andsys.android.progreaa |
最小必須 SDK | API 8: Android 2.2 (Froyo) |
ターゲット SDK | API 18 |
次でコンパイル | API 10: Android 2.3.3 (Gingerbread) |
テーマ | None |
・プロジェクトの構成
ディフォルトのまま
・アイコンの属性
ディフォルトのまま
・アクティビティーの作成
Blank Activity
・Blank Activity
アクティビティ名 | ProgressActivity |
レイアウト名 | main |
ナビゲーション・タイプ | None |
main.xml の編集
”InternalIOres/res/layout/main.xml”
ProgressActivity.java の編集
”Progress/src/jp/andsys/android/progress/ProgressActivity”
⇒ 円形のプログレスダイアログ
setProgressStyle メソッド
機能 | プログレスバーの形状を設定する |
書式 | void setProgressStyle ( int style ) |
引数 | style : 形状を定数で指定する STYLE_SPINNER : 円形スタイル STYLE_HORIZONTAL : 水平方向スタイル |
⇒ 水平方向のプログレスダイアログ
setMax メソッド
機能 | プログレスバーの最大値を設定 |
書式 | void setMax ( int max ) |
引数 | max : 最大値 |
handleMessage メソッド
機能 | メッセージを受信したら処理を開始する |
書式 | void handleMessage ( Message msg ) |
引数 | msg : 受信したメッセージ |
incrementalProgressBy メソッド
機能 | プログレスバーの値を増やす |
書式 | void incrementalProgressBy ( int diff ) |
引数 | diff : 増分する値 |
sendEmptyMessageDelayed メソッド
機能 | 自信にメッセージを送信する |
書式 | boolean sendEmptyMessageDelayed ( int what, long delayMillis ) |
引数 | what : 送信するメッセージ delayMillis : 何ミリ秒後に送信するか |
⇒ 実行
「円形スタイル」
「水平スタイル」
5.ピッカーダイアログ
特殊なダイアログとして、日付を選択するダイアログと時刻を選択するダイアログが用意されている。
◎ 日付ピッカーダイアログ
日付ピッカーダイアログは、DataPickerDialogクラス(android.app.DataPickerDialog)のコンストラクタを利用して作成する。
⇒ 日付ダイアログのイベントリスナー
日付ピッカーダイアログには、専用のイベントリスター DataPickerDialog.onDateSetListener インターフェースが用意されている。
◎ サンプル
プロジェクト設定
・新規Androidアプリケーション
アプリケーション名 | DatePicker |
プロジェクト名 | DatePicker |
パッケージ名 | jp.andsys.android.datepicker |
最小必須 SDK | API 8: Android 2.2 (Froyo) |
ターゲット SDK | API 18 |
次でコンパイル | API 10: Android 2.3.3 (Gingerbread) |
テーマ | None |
・プロジェクトの構成
ディフォルトのまま
・アイコンの属性
ディフォルトのまま
・アクティビティーの作成
Blank Activity
・Blank Activity
アクティビティ名 | DatePickerActivity |
レイアウト名 | main |
ナビゲーション・タイプ | None |
main.xml の編集
”DatePicker/res/layout/main.xml”
DatePickerActivity.java の編集
”DatePicker/src/jp/andsys/android/datepicker/DatePickerActivity”
onDateSet メソッド
機能 | 日付が指定されたら呼ばれるコールバックメソッド |
書式 | void onDateSet ( DatePicker view, int year, int monthOfYear, int dayOfMonth ) |
引数 | view : DatePickerDialogで使われているDatePickerビュー year : 設定された年 monthOfYear : 設定された月 dayOfMonth : 設定された日 |
⇒ 実行
「日付」テキストボックスをクリックすると現れ、「Set」ボタン入力で日付が入力される。
◎ 時刻ピッカーダイアログ
時刻ピッカーダイアログは、TimePickerDialogクラス(android.app.TimePickerDialog)のコンストラクタを利用する。
⇒ 時刻ピッカーダイアログのイベントリスナー
時刻ピッカーダイアログには、専用のイベントリスター TimePickerDialog.onTimeSetListener インターフェースが用意されている。
◎ サンプル
プロジェクト設定
・新規Androidアプリケーション
アプリケーション名 | TimePicker |
プロジェクト名 | TimePicker |
パッケージ名 | jp.andsys.android.timepicker |
最小必須 SDK | API 8: Android 2.2 (Froyo) |
ターゲット SDK | API 18 |
次でコンパイル | API 10: Android 2.3.3 (Gingerbread) |
テーマ | None |
・プロジェクトの構成
ディフォルトのまま
・アイコンの属性
ディフォルトのまま
・アクティビティーの作成
Blank Activity
・Blank Activity
アクティビティ名 | TimePickerActivity |
レイアウト名 | main |
ナビゲーション・タイプ | None |
main.xml の編集
”DatePicker/res/layout/main.xml”
TimePickerActivity.java の編集
”TimePicker/src/jp/andsys/android/timepicker/TimePickerActivity”
onTimeSet メソッド
機能 | 時刻が指定されたら呼ばれるコールバックメソッド |
書式 | void onTimeSet ( TimePicker view, int hourOfDay, int minute ) |
引数 | view : TimePickerDialogで使われているTimePickerビュー hourOfDay: 設定された「時」 minute : 設定された「分」 |
⇒ 実行
「時間」テキストボックスをクリックすると現れ、「Set」ボタン入力で時間が入力される。
以上で「ダイアログを使いこなす」後編を終了します。
本記事は以下の参考書を元にしています。