저는 일부 버튼과 텍스트 뷰의 컨테이너로 사용하는 LinearLayout을 가지고 있는데, 높이를 움직이게하여 사용자가 " 표시 "버튼을 누릅니다.ValueAnimator가있는 LinearLayout 컨테이너의 높이의 애니메이션
내 xml에서 LinearLayout을 layout_height = "0dp"로 설정하고 visibility = "gone"으로 설정했습니다. 그런 다음 내용을 감싸는 데 필요한 높이를 표시하도록 설정합니다. 지금은 전혀 애니메이션을 적용하는 데 문제가있어 랩 콘텐츠의 높이가 걱정되지 않습니다. 아마도 문제는 내가있는 LinearLayout의 높이를 설정하고 어떻게
private void toggle(final LinearLayout v) {
v.setVisibility(View.VISIBLE);
ValueAnimator va = ValueAnimator.ofInt(0, 300);
va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
Integer value = (Integer) animation.getAnimatedValue();
v.getLayoutParams().height = value.intValue();
v.invalidate();
}
});
va.start();
}
:
여기에 생기를 내 방법입니까? 아니면 ValueAnimator의 기능을 오해하고 있습니까? Chet Haase의 블로그 게시물을 둘러 보았지만 구체적인 높이 애니메이션 예제는 포함되어 있지 않습니다. 나도 3.0+에서 API를 사용하여 높이의 애니메이션 작업 방법을 찾아 낼 수 없었습니다. 이 덕분에 도움이 될 것입니다, 감사합니다!
레이아웃 애니메이션을 사용하지 않는 이유는 무엇입니까? –
솔직히 나는 그것을 사용하는 방법에 대해 전혀 몰라서 새로운 API 버전을 겨냥하고 있기 때문에 더 새로운 클래스를 사용하는 것이 더 간단 할 것이라고 생각했습니다 ... 저는 LayoutAnimation으로 어떻게 할 것인지 계속 살펴볼 것입니다. 당신이 그것을하는 방법에 대한 아이디어가 있다면 더 나은 해결책으로 그것을 게시 할 자유롭게 :) – span
무효화에 어떤 이유가 있습니까? – portfoliobuilder