2
我想要做的只是添加一個imageButton視圖作爲自定義視圖的子項,在右上角。我的自定義視圖擴展了Webview。將imageButton添加到我的自定義視圖中沒有問題,我只是無法將其移動到右上角。我需要以編程方式執行此操作,而不是使用xml。我永遠不會認爲這個簡單的東西需要我在這裏發佈,但我真的無法弄清楚。以編程方式在Android中的自定義視圖中添加子視圖
這裏是我使用添加ImageButton的當前自定義視圖是什麼,但它是在左上角:
public class customView extends WebView {
private void imageButtonInit() {
ImageButton closeImageButton = new ImageButton(getContext());
Drawable image = getResources().getDrawable(com.package.image);
closeImageButton.setBackgroundDrawable(image);
closeImageButton.setLayoutParams(new RelativeLayout.LayoutParams(25, 25));
closeImageButton.bringToFront();
customView.this.addView(closeImageButton);
}
}
我爲了它移動到右上角曾嘗試:
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(25, 25);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, -1);
closeImageButton.setLayoutParams(lp);
customView.this.addView(closeImageButton);
除了:
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(25, 25, Gravity.RIGHT|Gravity.TOP);
closeImageButton.setLayoutParams(lp);
customView.this.addView(closeImageButton);
所有這些都導致的ImageButton爲是p系在左上角。這是我在這個網站上的第一篇文章,所以我希望這個問題的格式正確。請不要xml解決方案。感謝大家。
感謝您的回答理查德。我其實打算寫closeImageButton.setLayoutParams(lp);那是一個錯字。抱歉。 –
儘管您建議的方法看起來應該起作用,但該按鈕仍然保留在左上角。 –
也許您的自定義視圖中還有其他設置未正確處理。什麼阻止你創建一個自定義的RelativeLayout,稱之爲你的自定義視圖,並且包括你的自定義網頁視圖和一個左上角設置的按鈕?它仍然會被包含在一個「視圖」中 –