2 fenghewugui1 fenghewugui1 于 2013.10.18 10:51 提问

android中设置自定义activity弹出框大小

我自己写了一个播放器界面,采用继承Theme.Dialog的形式,但是我觉得弹出框太小放不下我需要的内容,所以我想设置弹出框左右边距距离手机屏幕固定长度。但是在实际操作中我在activity文件里可以获取到屏幕宽度,但是无法设置弹出框大小。在xml文件里可以设置layout_width但是不知道怎么获取屏幕大小。求高人指点下如何设置?
CSDN移动问答

1个回答

fallignsun1992
fallignsun1992   2013.12.02 20:50
已采纳

在那个activity的OnCreate()方法里设置,我在http://www.apkbus.com/forum.php?mod=viewthread&tid=80334 那里搜到的,自己试了一下有效果的,可以设置弹出框大小。。
WindowManager m = getWindowManager();
Display d = m.getDefaultDisplay(); // 为获取屏幕宽、高
LayoutParams p = getWindow().getAttributes(); // 获取对话框当前的参值
p.height = (int) (d.getHeight() * 1.0); // 高度设置为屏幕的1.0
p.width = (int) (d.getWidth() * 0.7); // 宽度设置为屏幕的0.8
p.alpha = 1.0f; // 设置本身透明度
p.dimAmount = 0.0f; // 设置黑暗度
getWindow().setAttributes(p); // 设置生效
getWindow().setGravity(Gravity.RIGHT); // 设置靠右对齐

Csdn user default icon
上传中...
上传图片
插入图片