지금하는 프로젝트에 검색어 입력란이 0에서 원래 크기로 점점 커지는 애니메이션을 넣어야 하는데, 내가 원래 뷰 애니메이션에 약하다보니 고생을 좀 많이 했다.
이상하게 애니메이션은 잘 이해도 안되고, 기억도 못 하겠네 ㅠㅠ
잘 안되는 코드가 많았는데, 다행히 이 코드는 잘 된다.
layoutSearch.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { ValueAnimator widthAnimator = ValueAnimator.ofInt(0, layoutSearch.getWidth()); widthAnimator.setDuration(400); widthAnimator.setInterpolator(new DecelerateInterpolator()); widthAnimator.addUpdateListener(animation -> { layoutSearch.getLayoutParams().width = (int) animation.getAnimatedValue(); layoutSearch.requestLayout(); }); widthAnimator.start(); layoutSearch.getViewTreeObserver().removeOnGlobalLayoutListener(this); } });
출처: http://stackoverflow.com/a/43274313/1025379