2012-09-18 76 views
1

我有一個自定義視圖,它會被打開並添加到另一個項目中。在視圖中,我想給出一個按鈕的選項。Android - 在代碼中將另一個視圖中的視圖(按鈕)對齊?

這是我在CustomView類中的。

final CustomView currentView = (CustomView) findViewById(this.getId()); 

RelativeLayout.LayoutParams params = (new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT)); 

params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 
closeButton.setLayoutParams(params); 

currentView.addView(closeButton); 

這是所有包裹在一個RelativeLayout的標籤以及應用程序的其他對象

一切都在CustomView但是編譯按鈕正在調整而不是左側right.Any想法?

回答

0

我想這個問題是你的CustomView。它可能不佔用整個窗口的寬度,並且寬度足以填滿它的子項(在你的情況下,它是關閉按鈕)。確保您的CustomView具有fill_parent水平佈局。

由於您的CustomView擴展了WebView,而WebView又擴展了AbsoluteLayout,所以您不能期望它處理RelativeLayout的參數。相反,最好將自定義視圖和關閉按鈕放在RelativeLayout中並正確定位。

+0

CustomView中已經有一個圖像,並且我試圖將關閉按鈕對齊圖像的右下角。 :/ – user1681426

+0

在這種情況下,這可能是您的自定義視圖的佈局代碼中的一個錯誤。你可以發佈嗎? – zmbq

+0

將其發佈在原始問題中...另外,我正在討論您的自定義視圖如何展示其子項,而不是XML。 – zmbq

0

當您的closeButton添加到您的currentView時,您需要提供LayoutParams作爲參數以使它們生效。

基本上,切換

currentView.addView(closeButton); 

currentView.addView(closeButton, params); 

由於您的按鈕的寬度設置爲wrap_content,你也可以嘗試其layout_gravity設置到右邊。

params.gravity = Gravity.RIGHT; 
+0

嘗試過,但無濟於事... – user1681426

+0

您的自定義視圖是否延伸RelativeLayout? – swhitewvu24

+0

在佈局xml中,它在相同的RelativeLayout標記下,它包含了我的應用程序中的所有其他對象。所以我相信如此。 – user1681426

相關問題