2012-11-22 4 views
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); 

하는 모두는 인 (P)하여 ImageButton 초래 왼쪽 상단 모서리에 묶여. 이것은이 사이트의 첫 번째 게시물이므로 질문의 형식이 올바르게 되었기를 바랍니다. 제발 XML 솔루션. 모두에게 감사드립니다.

답변

1

다른 두 가지 방법으로 무엇을하고 있는지 생각하면 문자 그대로 CustomView에 레이아웃 매개 변수를 설정하는 것입니다. 대신이 방법을 사용하여 자녀의 레이아웃 매개 변수를 설정해야합니다.

customView.this.addView(child, params); 

여기서 child는 이미지 버튼이고 params는 레이아웃 매개 변수입니다.

+0

답변 해 주셔서 감사합니다. 사실 closeImageButton.setLayoutParams (lp)를 작성하려고했습니다. 그것은 오타였습니다. 죄송합니다. –

+0

그리고 제안 된 방법이 제대로 작동하는 것처럼 보일지라도 단추는 여전히 왼쪽 상단에 남아 있습니다. –

+0

사용자 지정보기에 제대로 처리되지 않은 다른 설정이있을 수 있습니다. 커스텀 RelativeLayout을 만들고, customView로 호출하고, 사용자 정의 웹 뷰와 왼쪽 상단에 설정이있는 버튼을 포함하는 것을 멈추게하는 것은 무엇입니까? 여전히 하나의 "보기"에 포함될 것입니다. –

관련 문제