我自己寫了一個播放器界面,采用繼承Theme.Dialog的形式,但是我覺得彈出框太小放不下我需要的內容,所以我想設置彈出框左右邊距距離手機屏幕固定長度。但是在實際操作中我在activity文件裡可以獲取到屏幕寬度,但是無法設置彈出框大小。在xml文件裡可以設置layout_width但是不知道怎麼獲取屏幕大小。求高人指點下如何設置?
在那個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); // 設置靠右對齊