AndroidでProgressDialogを表示する
プログレスバーを表示する
package com.example.progresstest; import android.app.Activity; import android.app.ProgressDialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { private EditText mResultText = null; private ProgressDialog mProgressDialog; private int mProgress = 0; private Handler mProgressHandler = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button; button = (Button) findViewById(R.id.ButtonAlertDialogOK); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mProgressDialog = new ProgressDialog(MainActivity.this); mProgressDialog.setTitle("Progress Dialod"); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mProgressDialog.setMax(100); mProgressDialog.setButton ("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { mResultText.setText( "Progress Dialog [OK] pressed at " + mProgress + "%"); } }); mProgressDialog.setButton2 ("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { mResultText.setText( "Progress Dialog [Cancel] pressed at " + mProgress + "%"); } }); mProgress = 0; mProgressDialog.show(); mProgressDialog.setProgress(0); mProgressHandler.sendEmptyMessage(0); } }); mResultText = (EditText) findViewById(R.id.TextResult); mProgressHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (mProgress >= 100) { mProgressDialog.dismiss(); mResultText.setText("Progress Dialog finished " + mProgress + "%"); } else { mProgress++; mProgressDialog.incrementProgressBy(1); mProgressHandler.sendEmptyMessageDelayed(0, 100); } } }; } }
ProgressDialogの表示形式
// プログレスバーの表示 setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
// 渦巻きタイプの表示 setProgressStyle(ProgressDialog.STYLE_SPIN);
プログレスバーのタイプと渦巻きタイプの2種類のみが定義されています。