<< Android-Note
プログレスダイアログの表示
何か重い処理(ファイル読み込みなど)をするときには現在どのくらい処理が進んでいるのか目で見えた方が便利です。
そこで処理の進歩をダイアログ上で表示するのにProgressDialogを利用します。
使用例
例えば次のような使い方をします。
public class MainActivity extends Activity { ProgressDialog progressDialog; //表示するプログレスダイアログ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); progressDialog = new ProgressDialog(this); progressDialog.setMax(100); //最大値を設定 progressDialog.setProgress(0); //プログレスバーの初期値を設定 progressDialog.setIndeterminate(false); progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); loadFile(); } //ファイルダウンロードを再現しているメソッド public void loadFile() { progressDialog.show(); for(int i = 0; i < 100; ++i){ progressDialog.setProgress(i); progressDialog.setMessage(Integer.toString(i) + "%"); Thread.sleep(3000); //3秒待機 } progressDialog.dismiss(); } }
この例のloadFileというメソッドでファイル読み込みの処理を再現していて、処理が進むにつれてダイアログのプログレスバーとメッセージ部分が変化するようにしてあります。
そしてすべての処理が終了したらdismissメソッドでダイアログを破棄しています。
ダイアログのスタイルの種類
プログレスダイアログのアニメーションには2つあり、setProgressStyleメソッドでアニメのスタイルを指定できます。
値とそのダイアログの種類は次の通りです。
- ProgressDialog.STYLE_HORIZONTAL
ダイアログは次のように水平なプログレスバーを持って表示されます。
- ProgressDialog.STYLE_SPINNER
ダイアログには次のように円が回転しているようなアニメーションが表示されます。
STYLE_HORIZONTALを渡したときはsetProgressメソッドで指定した分だけプログレスバーが色付けされます。
以上、ProgressDialogの使い方でした。
© Kaz