2011-02-11 2 views
2

저는 ViewGroup을 가지고 있고 이것에 자식 뷰를 추가하고 있습니다 :번역, 축소 또는 회전 된 자식 뷰가 사라집니다.

mViewGroup.addView(view, new LayoutParams(LayoutParams.WRAP_CONTENT, 
       LayoutParams.WRAP_CONTENT)); 

(WRAP_CONTENTonclicklistener가 예상대로 작동하는 데 중요합니다).

지금까지는 좋았지 만, 나중에 onDraw 메서드를 재정의하거나 ViewGroups를 재정 의하여 자식 뷰를 동적으로 이동합니다.

protected boolean getChildStaticTransformation(View child, Transformation t) 

문제는 자식이 자신의 외부로 이동하면 사라진다는 것입니다. 원래 영역은 처음 추가 될 때 계산되는 것처럼 보입니다. 내가 setClipChildren(false); 전화했는데 작동하지 않았다.

자식보기를 추가 할 때 LayoutParams.FILL_PARENT을 사용하여이 문제를 해결할 수 있지만이 경우 onClickListener는 전체 ViewGroup에 대한 클릭에 반응하고 해당 영역의 클릭에만 반응합니다. 위치.

아마 View에 대한 클릭 가능 영역을 정의 할 방법이 있다면 LayoutParams.FILL_PARENT을 사용할 수 있습니다.

어떤 제안이 있습니까?

답변

0

아마도 자녀보기의 여백과 여백을 실험해야합니다. 그렇지 않으면 각보기의 위치를 ​​여백으로 설정할 수있는 FrameLayout과 같은 다른 ViewGroup 레이아웃을 사용하려고 할 수 있습니다.

관련 문제