我有我的應用程序的一些彈出窗口,它的全屏和下面的代碼:顯示PopupWindow集中
content.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
content.measure(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
int screenWidth = windowManager.getDefaultDisplay().getWidth();
int screenHeight = windowManager.getDefaultDisplay().getHeight();
int x = screenWidth/2 - content.getMeasuredWidth()/2;
int y = screenHeight/2 - content.getMeasuredHeight()/2;
window.showAtLocation(content, Gravity.NO_GRAVITY, x, y);
使中心的窗口顯示。
但我有另一個不是全屏的活動,當彈出窗口從正確的位置開始時,它是從右到下的。
試圖找出爲什麼發生這種情況,我認爲showAtLocation顯示它是相對於當前的活動,但我需要顯示它相對於顯示。
我該怎麼做?或者有一個更簡單的方法來彈出剛居中的彈出窗口?
完美的作品。謝謝 – 2011-09-19 14:18:35
所以,如果我想適應底部,我只是使用這一行'mPw.showAtLocation(v,Gravity.BOTTOM,0,0);'是否可以在xxhpi設備上使用,比如Nexus 5?我有它的問題... – 2014-05-28 00:40:42
你可以告訴日期,這是張貼前xxhpi設備。你的代碼應該做你期望的。按照撰寫的鏈接,看到我發佈的不同選項的圖像示例。 – Bae 2014-05-29 05:36:24