2013-01-07 2 views
1

ViewGroup에서 한 뷰에서 다른 뷰로 페이드하고 싶습니다. 현재 setAlpha을 사용하여 전환을 수행하고 있지만 문제는 렌더링 된 뷰가 하나 밖에 없으므로 맨 위에 있었고 페이드 아웃되었습니다.안드로이드 뷰 그룹 : 서로 위에 두 개의 뷰를 페이드/블렌드

  • 내부의 뷰 배열 ViewGroup은 z 축 순서입니까?
  • 톱뷰 만 렌더링됩니까?

layout 방법은 다음과 같습니다

@Override 
protected void onLayout(final boolean changed, final int l, final int t, final int r, final int b) { 
    L.debug("laying out {} children", this.getChildCount()); 
    for (int i = 0; i < this.getChildCount(); i++) { 
     L.debug("layout out {}", i); 

     View view = this.getChildAt(0); 
     view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); 
    } 
} 
+0

감사합니다. 이 얼마나 어리석은 실수. 이제 작동합니다. –

답변

2

가 왜 ViewSwitcher를 사용하지 않으려는? 그것은 당신이 원하는 것을 정확히 수행합니다. 다음은 example입니다.

ViewGroup 내부의 뷰 배열이 z 축으로 정렬되어 있습니까?

안드로이드에는 Z 순서와 같은 것이 없습니다. ViewGroup에 추가 된 뷰가 그려집니다. 먼저 처음 추가됩니다.

아니, 안드로이드 그들이 완전히 다른 사람에 의해 overlaped 경우에도 표시하는 구형의 모든보기를 그릴 것입니다

렌더링되는 평면도이다.

나는이 장소를 this.getChildAt (0)로 수정하고 ViewGroup의 모든 하위를 레이아웃해야한다고 생각합니다.

관련 문제