显示进度对话框
在程序中调用showDialog的时候,系统会回调函数onCreateDialog,此时可以根据传递过来的id进行相应的显示
如果需要显示对话框,则需要覆写onCreateDialog函数,在显示选项中new一个progressDialog对象,然后返回就可以了
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG1_KEY: { //有标题栏的进度对话框
ProgressDialog dialog = new ProgressDialog(this);
dialog.setTitle("Indeterminate");
dialog.setMessage("Please wait while loading...");
dialog.setIndeterminate(true);
dialog.setCancelable(true);
return dialog;
}
case DIALOG2_KEY: { //没有标题栏的进度对话框
ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("Please wait while loading...");
dialog.setIndeterminate(true);
dialog.setCancelable(true);
return dialog;
}
}
return null;
}
而下面的程序则演示了 如何在窗口的标题栏显示进度对话框
private boolean mToggleIndeterminate = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Request progress bar
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.progressbar_4);
setProgressBarIndeterminateVisibility(mToggleIndeterminate);
Button button = (Button) findViewById(R.id.toggle);
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
mToggleIndeterminate = !mToggleIndeterminate;
setProgressBarIndeterminateVisibility(mToggleIndeterminate);
}
});
}