android.app.ProgressDialog
プログレスインディケータを表示するダイアログです。
プログレスインディケータには、処理の進捗度合いを示すバー型と
処理時間が不明なときに用いられる円形型があります。
プログレスバーには中間のProgressを示すセカンダリプログレスバーを
表示することができます(例:ストリーミング再生のバッファレベル)。
プログレスダイアログを表示する手順は以下の通りです。
- プログレスダイアログを作成
- 表示内容や挙動の設定(詳細はProgressDialogを参照)
- プログレスダイアログのshow()メソッドで、ダイアログを表示
サンプル
- バー型のプログレスダイアログ
ProgressDialogSample.java@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
// ProgressDialogを作成 ProgressDialog progressDialog = new ProgressDialog(this); // タイトルを設定 progressDialog.setTitle("タイトル"); // メッセージを設定 progressDialog.setMessage("メッセージ"); // ProgressDailogの表示形式を設定 progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // 最大値の設定(最大で10000まで) progressDialog.setMax(100); // 現在のプログレス値を設定 progressDialog.incrementProgressBy(30); // secondaryのプログレス値を設定 progressDialog.incrementSecondaryProgressBy(70); // 結果を表示できないようにするかどうかの判断 progressDialog.setIndeterminate(false); // back keyを有効に設定 progressDialog.setCancelable(true); // ProgressDialogの表示 progressDialog.show(); }
- setIndeterminate()メソッドにtrueを設定すると、
現在値表示のないプログレスバーになります。 - setProgressStyle()メソッドにProgressDialog.STYLE_SPINNERを設定することで、
円形型のプログレスインディケータを表示させることができます。 - また、引数を持つshow()メソッドを用いることで、
以下のように表示内容や挙動の設定をすることができます。@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
// ダイアログを実行するcontext Context context = this; // 表示するタイトル String title = "タイトル"; // 表示するメッセージ String message = "メッセージ"; // indeterminateモードフラグ boolean indeterminate = false; // キャンセル(back key使用)可否フラグ boolean cancelable = true; // キャンセルリスナ DialogInterface.OnCancelListener cancelListener = new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { // back keyが押されたときの処理 } }; // ProgressDialogを表示 ProgressDialog.show(context, title, message, indeterminate, cancelable, cancelListener); }