2012年9月3日月曜日

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

進捗状況を表示する水平スタイルのプログレスダイアログを表示します。
public void button1Click(View view) {
    ProgressDialog dialog = new ProgressDialog(this);
    //タイトルを設定します。
    dialog.setTitle("Title");
    //メッセージを設定します。
    dialog.setMessage("Message");
    //水平バースタイルに設定します。
    dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    //falseの場合、プログレスバーの進捗状況を表示します。
    dialog.setIndeterminate(false);
    //最大値を設定します。
    dialog.setMax(100);
    //進捗の値を設定します
    dialog.incrementProgressBy(30);
    //セカンダリ値を設定します
    dialog.incrementSecondaryProgressBy(70);
    //キャンセルできるかどうかです。
    dialog.setCancelable(true);
    //ダイアログにキャンセルボタンを追加します。
    dialog.setButton("キャンセル", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        } 
    });
    //ダイアログを表示
    dialog.show();
}   


処理中かどうかを表示する水平スタイルのプログレスダイアログを表示します。
setIndeterminateメソッドにtrueを設定すると、処理中かどうかを表すプログレスバーになります。
setMax()メソッドやincrementProgressBy()メソッド、ementSecondaryProgressBy()メソッドの設定は無視されるようです。
public void button1Click(View view) {
    ProgressDialog dialog = new ProgressDialog(this);
    //タイトルを設定します。
    dialog.setTitle("Title");
    //メッセージを設定します。
    dialog.setMessage("Message");
    //水平バースタイルに設定します。
    dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    //falseの場合、プログレスバーの進捗状況を表示します。
    dialog.setIndeterminate(true);
    //最大値を設定します。
    dialog.setMax(100);
    //進捗の値を設定します
    dialog.incrementProgressBy(30);
    //セカンダリ値を設定します
    dialog.incrementSecondaryProgressBy(70);
    //キャンセルできるかどうかです。
    dialog.setCancelable(true);
    //ダイアログにキャンセルボタンを追加します。
    dialog.setButton("キャンセル", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        } 
    });
    //ダイアログを表示
        dialog.show();
}   


円スタイルのプログレスダイアログを表示します。
setProgressStyle()メソッドにProgressDialog.STYLE_SPINNERを設定すると円スタイルになります。
setIndeterminate()メソッドやsetMax()メソッド、incrementProgressBy()メソッド、ementSecondaryProgressBy()メソッドの設定は無視されるようです。
public void button1Click(View view) {
    ProgressDialog dialog = new ProgressDialog(this);
    //タイトルを設定します。
    dialog.setTitle("Title");
    //メッセージを設定します。
    dialog.setMessage("Message");
    //水平バースタイルに設定します。
    dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    //falseの場合、プログレスバーの進捗状況を表示します。
    dialog.setIndeterminate(true);
    //最大値を設定します。
    dialog.setMax(100);
    //進捗の値を設定します
    dialog.incrementProgressBy(30);
    //セカンダリ値を設定します
    dialog.incrementSecondaryProgressBy(70);
    //キャンセルできるかどうかです。
    dialog.setCancelable(true);
    //ダイアログにキャンセルボタンを追加します。
    dialog.setButton("キャンセル", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        } 
    });
    //ダイアログを表示
    dialog.show();
}   

0 件のコメント: