カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

プログレスダイアログの表示

この記事は最終更新日から1年以上経過しています。

オブジェクトのインスタンスを生成

ProgressDialog progressDialog;
progressDialog = new ProgressDialog(this);

各種設定

// タイトルを設定
progressDialog.setTitle("タイトル");

// 表示メッセージを設定
progressDialog.setMessage("処理を実行中しています");

// プログレスダイアログの確定・不確定を設定
// true=不確定(終わりのないプログレス表示)
// false=確定(最大値が決められたプログレス表示)
progressDialog.setIndeterminate(false);

// プログレスダイアログのスタイルを水平バーに設定
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

// プログレスダイアログのスタイルを円に設定
//progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

// プログレスダイアログの最大値を設定
progressDialog.setMax(100);

// プログレスダイアログの現在値を設定
progressDialog.incrementProgressBy(30);

// プログレスダイアログのセカンダリ値を設定
progressDialog.incrementSecondaryProgressBy(70);

// キャンセルが可能かどうかを設定
progressDialog.setCancelable(true);

// キャンセルリスナ
progressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
 @Override
 public void onCancel(DialogInterface dialog) {
  // 戻るキーが押されたときの処理
 }
});

// ダイアログを表示
progressDialog.show();

// 新規スレッドで進捗状況を表示
new Thread(new Runnable() {
 public void run() {
  try {
   Thread.sleep(1000);
  } catch (Exception e) {
   e.printStackTrace();
  }

  for(int i = 0; i <= 70; i++) {
   progressDialog.incrementSecondaryProgressBy(i);
   progressDialog.incrementProgressBy(i);
  }

  // ダイアログを終了させる
  progressDialog.dismiss(); 
 }
}).start();
この記事がお役に立ちましたらシェアお願いします
2,915 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です