Android中控制Dialog呈现的时间

版权声明:本文为博主原创文章。未经博主同意不得转载。 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();
}


猜你喜欢

转载自www.cnblogs.com/xfgnongmin/p/10741480.html