SSブログ

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”

image

ProgressActivity.java の編集

”Progress/src/jp/andsys/android/progress/ProgressActivity”

image

image

image

⇒ 円形のプログレスダイアログ

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 : 何ミリ秒後に送信するか

⇒ 実行

「円形スタイル」

image

「水平スタイル」

image

 

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”

image

DatePickerActivity.java の編集

”DatePicker/src/jp/andsys/android/datepicker/DatePickerActivity”

image

onDateSet メソッド

機能 日付が指定されたら呼ばれるコールバックメソッド
書式 void onDateSet ( DatePicker view, int year, int monthOfYear, int dayOfMonth )
引数 view : DatePickerDialogで使われているDatePickerビュー
year : 設定された年
monthOfYear : 設定された月
dayOfMonth : 設定された日

⇒ 実行

「日付」テキストボックスをクリックすると現れ、「Set」ボタン入力で日付が入力される。

image

◎ 時刻ピッカーダイアログ

時刻ピッカーダイアログは、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”

image

TimePickerActivity.java の編集

”TimePicker/src/jp/andsys/android/timepicker/TimePickerActivity”

image

onTimeSet メソッド

機能 時刻が指定されたら呼ばれるコールバックメソッド
書式 void onTimeSet ( TimePicker view, int hourOfDay, int minute )
引数 view : TimePickerDialogで使われているTimePickerビュー
hourOfDay: 設定された「時」
minute : 設定された「分」

⇒ 実行

「時間」テキストボックスをクリックすると現れ、「Set」ボタン入力で時間が入力される。

image

以上で「ダイアログを使いこなす」後編を終了します。

 

本記事は以下の参考書を元にしています。


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。