一般用ProgressDialog来提示用户等待耗时操作,如图中代码块
IsVideoQualityWithFace();如果不在单独线程中执行的话,ProgressDialog将不会显示
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("提示")
.setMessage( msg )
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(mCamera != null){
mCamera.stopRecordVideo();
}
dialog.dismiss();
mDlgProgressFaceCheck = new ProgressDialog( CameraActivity.this);
if(mDlgProgressFaceCheck!=null){
mDlgProgressFaceCheck.setTitle("温馨提示");
mDlgProgressFaceCheck.setMessage("正在检测视频质量...");
mDlgProgressFaceCheck.setCancelable(false);
mDlgProgressFaceCheck.setCanceledOnTouchOutside(false);
mDlgProgressFaceCheck.show();
}
new Thread(new Runnable(){
public void run() {
IsVideoQualityWithFace();
}
}).start();
}
});
AlertDialog ad = builder.create();
ad.show();
本文介绍如何使用ProgressDialog组件来提示用户正在进行耗时操作。通过一个示例代码展示了如何在后台线程执行操作前显示ProgressDialog,并确保主线程不被阻塞。此外还介绍了如何通过AlertDialog获取用户确认。
1038

被折叠的 条评论
为什么被折叠?



