Android中控制Dialog呈现的时间

用线程控制dialog的呈现时间,思路很简单,直接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();
}

Android中控制Dialog呈现的时间,布布扣,bubuko.com

时间: 2024-10-29 19:07:55

Android中控制Dialog呈现的时间的相关文章

android中给Dialog设置的动画如何自定义修改参数

============问题描述============ 在android中给Dialog设置动画的方法我只找到Dialog.getWindow().setWindowAnimation(int resID); 这样不是只能在styles里用xml定义动画吗? 但是我现在想要先用程序计算出一个屏幕上的点,在让Dialog从该点开始执行scaleAnimation. 我如何给我Dialog的动画设置起始点之类的参数呢? ============解决方案1============ 自定义一个dial

android中控制ListView宽度和高度

============问题描述============ 给listveiw填充item布局都是wrap_content,listview自身也使用wrap_content,可是实际显示效果listview宽度都是全屏,求解决办法 item布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="wrap_content

Android中自定义Dialog

代码: /** * 弹出设置防盗密码对话框 */ private void showSetupPwdDialog() { //弹出设置的对话框 Builder builder = new Builder(this); //给当前对话框填充一个布局文件 //TODO 此处的this代表的是?HomeActivity View view = View.inflate(this, R.layout.dialog_setup_password, null); //获取输入的密码和确认密码 final E

Android中改变dialog的显示的位置和大小

private void setDialogSize(Dialog dg) { Window dialogWindow = dg.getWindow(); WindowManager.LayoutParams lp = dialogWindow.getAttributes(); dialogWindow.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); dialogWindow.setGravity(Gravity.LEFT | Gr

Android 中常见控件的介绍和使用

1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ? android.view.View   ? android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV

Android中使用ImageViewSwitcher实现图片切换轮播导航效果

前面写过了使用ViewFlipper和ViewPager实现屏幕中视图切换的效果(未实现轮播)附链接: Android中使用ViewFlipper实现屏幕切换 Android中使用ViewPager实现屏幕页面切换和页面切换效果 今天我们在换一种实现方式ImageViewSwitcher. ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果 ImageSwitcher粗略的理解就是ImageView的选择器. ImageSwitcher的原理:ImageSwi

Android中通过反射来设置显示时间

这个Toast的显示在Android中的用途还是很大的,同时我们也知道toast显示的时间是不可控的,我们只能修改他的显示样式和显示的位置,虽然他提供了一个显示时间的设置方法,但是那是没有效果的(后面会说到),他有两个静态的常量Toast.SHORT和Toast.LONG,这个在后面我会在源码中看到这个两个时间其实是2.5s和3s.那么我们如果真想控制toast的显示时间该怎么办呢?真的是无计可施了吗?天无绝人之路,而且Linux之父曾经说过:遇到问题就去看那个操蛋的源代码吧!!下面就从源代码开

浅谈android中的自定义封装易用的Dialog

好久没写android的博客,最近在做一个android的项目,里面用到我们经常用的一个控件就是对话框,大家都知道android自带的对话框是很丑的,android5.x之后除外.所以就出现了自定义view,自己定义美观的对话框.好我们就来自定义对话框. 整体思路:定义一个类然后去继承Dialog类,然后重写相应的构造器方法.大家都知道一般的对话框的创建过程都是来一个AlertDialog.Builder对象,然后使用一些set方法来设置标题内容以及设置一些自定义的view和点击的Button以

Android中通过反射来设置Toast的显示时间

这个Toast的显示在Android中的用途还是非常大的,同一时候我们也知道toast显示的时间是不可控的.我们仅仅能改动他的显示样式和显示的位置,尽管他提供了一个显示时间的设置方法.可是那是没有效果的(后面会说到).他有两个静态的常量Toast.SHORT和Toast.LONG,这个在后面我会在源码中看到这个两个时间事实上是2.5s和3s. 那么我们假设真想控制toast的显示时间该怎么办呢?真的是无计可施了吗?天无绝人之路,并且Linux之父以前说过:遇到问题就去看那个操蛋的源码吧.!以下就