您的位置:首页 > 移动开发 > Android开发

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

2015-02-28 23:39 591 查看
废话不多说,这个改变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出来才可以再设置,不然就没效果了,因为只有当界面显示出来后才可以获得它的屏幕尺寸及参数等一些信息


再贴个效果图吧:



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

转载请注明出处---------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐