2012-03-27 51 views
3

我想創建一個對話框,當用戶按下按鈕時出現。 (實際上這是一種音量控制,當用戶用耳機點擊按鈕時出現)如何在按鈕頂部創建對話框

我有一個對話框的佈局文件(高度取決於內容) 和onCreate方法我嘗試設置重力頂部|右自定義邊距(與我的按鈕相同)。

this.getWindow().setGravity(Gravity.TOP | Gravity.RIGHT); 
WindowManager.LayoutParams lp = this.getWindow().getAttributes(); 
lp.x = x; 
lp.y = y; 

但我得到的只是右邊的一個居中的對話框(不是右上角!),沒有任何餘量。

換句話說,我想用自定義佈局在屏幕上的指定點繪製我的對話框。

回答

1

實現這一目標最簡單的方法是使用相對佈局

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(WIDTH, HEIGHT); 
params.topMargin = X; 
params.leftMargin = Y; 
yourRelativeLayout.addView(myDialog, params); 

的X應該是這樣的clickedX - 寬/ 2 ...

希望這是有幫助!

相關問題