2014-07-01 102 views
0

我想動態改變PopupWindow的位置。 曾用下面的方法:動態改變PopupWindow在android的位置

public void showAtLocation (View parent, int gravity, int x, int y) 

但有時PopupWindow顯示出畫面。那麼我應該使用哪個相對參數來改變x和y值(比如佈局高度或寬度等)?

回答

0

試試這個

AlertDialog dialog = builder.create(); 
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
WindowManager.LayoutParams wmlp = dialog.getWindow().getAttributes(); 



wmlp.gravity = Gravity.TOP | Gravity.LEFT; 
wmlp.x = 100; //x position 
wmlp.y = 100; //y position 

dialog.show(); 

其中X和Y的單位是像素。

如果你只是想移動的警告對話框了下來,然後

alertDialog.getWindow().getAttributes().verticalMargin = 0.2F;

+0

謝謝您的答覆Aniruddha,但在我的程序x和y的值動態分配,所以用戶的角度來看,他們只知道給兩個整數值兩個x&y。如果他們把x = 500,y = 750,那麼彈出顯示在屏幕之外。所以鋤頭可以克服用戶使用不同屏幕尺寸的Android設備時的情況。 – JithinMechery