Android中控制Dialog呈现的时间

时间:2021-09-30 17:48:26

版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/zinss26914/article/details/36900157

用线程控制dialog的呈现时间,思路非常easy,直接show代码了,我也是为了方便自己记录

private void showProgressDialog() {
pDialog = new ProgressDialog(mContext); pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pDialog.setProgress(100);
pDialog.setMessage("请稍等一秒...");
pDialog.setIndeterminate(false);
pDialog.show(); WindowManager.LayoutParams lp = pDialog.getWindow().getAttributes();
lp.gravity = Gravity.CENTER;
Window win = pDialog.getWindow();
win.setAttributes(lp); // 仅仅呈现1s
new Thread(new Runnable() { @Override
public void run() {
long startTime = System.currentTimeMillis();
int progress = 0; while (System.currentTimeMillis() - startTime < 1000) {
try {
progress += 10;
pDialog.setProgress(progress);
Thread.sleep(100);
} catch (InterruptedException e) {
pDialog.dismiss();
}
} pDialog.dismiss();
}
}).start();
}