Top > UIコンポーネント > ProgressDialogの使い方

UIコンポーネント/ProgressDialogの使い方

Last-modified: 2009-07-17 (金) 21:25:21

android.app.ProgressDialog Edit

プログレスインディケータを表示するダイアログです。
プログレスインディケータには、処理の進捗度合いを示すバー型と
処理時間が不明なときに用いられる円形型があります。
プログレスバーには中間のProgressを示すセカンダリプログレスバーを
表示することができます(例:ストリーミング再生のバッファレベル)。

 

プログレスダイアログを表示する手順は以下の通りです。

  • プログレスダイアログを作成
  • 表示内容や挙動の設定(詳細はProgressDialogを参照)
  • プログレスダイアログのshow()メソッドで、ダイアログを表示
 

サンプル Edit

  • バー型のプログレスダイアログ
     
    サンプルのソースコード
    fileProgressDialogSample.java
     
    Progress_DialogSample.PNG
     
        @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を設定すると、
    現在値表示のないプログレスバーになります。
     
    ProgressDialogIndeterminate.PNG
     
  • setProgressStyle()メソッドにProgressDialog.STYLE_SPINNERを設定することで、
    円形型のプログレスインディケータを表示させることができます。
     
    ProgressDialogSampleSpiner.PNG
     
  • また、引数を持つ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);
        }
     


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White