Android之使用参数改变ProgressDialog的位置、大小、背景透明度、屏幕透明度

废话不多说,这个改变ProgressDialog的一些配置属性和前面我讲的AlertDialog的设置参数方法一模一样,这里就为了更直观,直接贴实现代码吧:

ProgressDialog mProgressDialog = new ProgressDialog(UserLogin.this,ProgressDialog.THEME_HOLO_DARK);
mProgressDialog.setMessage("正在登录...");
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mProgressDialog.setCancelable(false);
mProgressDialog.show();
Point size = new Point();
<pre name="code" class="java">mProgressDialog.<span style="font-family: Arial, Helvetica, sans-serif;">getWindow().getWindowManager().getDefaultDisplay().getSize(size);//记得用mProgressDialog来得到这个界面的大小,实际上不加就是得到当前监听器匿名类对象的界面宽度</span>
int width = size.x;//获取界面的宽度像素int height = size.y;WindowManager.LayoutParams params = mProgressDialog.getWindow().getAttributes();//一定要用mProgressDialog得到当前界面的参数对象,否则就不是设置ProgressDialog的界面了params.alpha = 0.8f;//设置进度条背景透明度params.height = height/8;//设置进度条的高度params.gravity = Gravity.CENTER;//设置ProgressDialog的重心params.width = 4*width/5;//设置进度条的宽度<span style="color:#ff0000;">params.dimAmount = 0f;</span>//设置半透明背景的灰度,范围0~1,系统默认值是0.5,1表示背景完全是黑色的,0表示背景不变暗,和原来的灰度一样mProgressDialog.getWindow().setAttributes(params);//把参数设置给进度条,注意,一定要先show出来才可以再设置,不然就没效果了,因为只有当界面显示出来后才可以获得它的屏幕尺寸及参数等一些信息
 
 
再贴个效果图吧:

Android之使用参数改变ProgressDialog的位置、大小、背景透明度、屏幕透明度_第1张图片

是不是和默认的进度条相比,高度和宽度都改变了,它的透明度也改变了,而且,最重要的一点就是:它显示出来后,它的屏幕背景没有变暗!!!


转载请注明出处---------

你可能感兴趣的:(Android之使用参数改变ProgressDialog的位置、大小、背景透明度、屏幕透明度)