2014-07-16 3 views
0

Value Animator를 사용하여 내보기에 슬라이딩 애니메이션을 만듭니다. 문제는, 하위 뷰가 EditText 애니메이션이 고르지 않을 때입니다. 코드 :Android ValueAnimator EditText 고르지 못한 애니메이션

private ValueAnimator SlideAnimator(int start,int end, View mView) 
    { 
     ValueAnimator animator = ValueAnimator.OfInt(start, end); 
     animator.SetDuration(2500); 
     animator.Update += 
      (object sender, ValueAnimator.AnimatorUpdateEventArgs e) => { 
      var value = (int)animator.AnimatedValue; 
      ViewGroup.LayoutParams layoutParams = mView.LayoutParameters; 
      layoutParams.Height = value; 
      mView.LayoutParameters=layoutParams; 
      mView.RequestLayout(); 
    }; 
    return animator; 

    if (wrappedChildren[position].Visibility == ViewStates.Visible) 
     { 
      int finalHeight = wrappedChildren[position].Height; 
      ValueAnimator mAnimator = SlideAnimator(finalHeight, 0, wrappedChildren[position]); 
      mAnimator.Start(); 
      mAnimator.AnimationEnd += (sender, args) => 
      { 
       SetSectionVisibility(position, ViewStates.Gone); 
      }; 
     } 
     else 
     { 
      int widthSpec = View.MeasureSpec.MakeMeasureSpec(0, MeasureSpecMode.Unspecified); 
      int heightSpec = View.MeasureSpec.MakeMeasureSpec(0, MeasureSpecMode.Unspecified); 
      wrappedChildren[position].Measure(widthSpec,heightSpec); 
      int measuredHeight = wrappedChildren[position].MeasuredHeight; 
      ValueAnimator mAnimator = SlideAnimator(0, measuredHeight,wrappedChildren[position]); 
      mAnimator.Start(); 
      SetSectionVisibility(position, ViewStates.Visible); 

     } 

wrappedChildren [위치] 글고 서브 뷰가

답변

1

당신이 에뮬레이터 또는 실제 장치에를 시도 보유보기입니까? 에뮬레이터 때문에 느려질 수 있습니다 ...

관련 문제