Fragment 변경 시 애니메이션 탐색 사용자 아이콘

5275 단어 Android
메일 리스트와 메일이 상세하게 이동할 때와 같이 Gmail 응용 프로그램 애니메이션으로 사용자 아이콘을 탐색합니다.
이런 느낌이에요.

탐색 서랍이 있는 Activity 내에 Fragment가 있습니다.
FirstFragment 버튼을 클릭하면 SecondFragment가 표시됩니다.
후퇴 버튼을 누르면FirstFragment로 돌아갑니다.

이루어지다


※ 예상내비게이션 서랍 설치가 완료되었습니다.
이동할 때 다음 방법을 사용합니다.
private void setNavigationIcon(boolean isSecondFragment) {
        ValueAnimator valueAnimator;
        if (isSecondFragment) {
            valueAnimator = ValueAnimator.ofFloat(0, 1);
        } else {
            valueAnimator = ValueAnimator.ofFloat(1, 0);
        }

        valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {
                float slideOffset = (Float) valueAnimator.getAnimatedValue();
                toggle.getDrawerArrowDrawable().setProgress(slideOffset);
            }
        });
        valueAnimator.setInterpolator(new DecelerateInterpolator());
        valueAnimator.setDuration(250);
        valueAnimator.start();
    }
네비게이션 서랍 아이콘은 DrawerArrowDrawable.setProgress()에 0.0~1.0의 값을 전달하여 햄버거 아이콘 화살표 아이콘의 변화 정도를 설정할 수 있다.setProgress(0.5f);시 이렇게 됩니다.

연속DrawerArrowDrawable.setProgress()으로 0.0~1.0의 값을 전달하여 애니메이션 내비게이션 사용자 아이콘을 만들 수 있습니다.
이것은 사용하고 있습니다ValueAnimator.ValueAnimator.ofFloat()에서 시작 및 끝 값을 설정합니다.ValueAnimator.setDuration()에 설정된 애니메이션 시간 사이에 값이 시작 값에서 끝 값으로 변경됩니다.
수치가 변할 때마다onAnimationUpdate() 호출됩니다.
FirstFragment→SecondFragment의 경우 1.0~0.0
SecondFragment→FirstFragment라면 반대로 0.0~1.0이 된다.

참고 자료

  • Animate drawer icon into arrow on setDisplayHomeAsUpEnabled?
  • 안드로이드 애니메이션 쓰고 싶어요.
  • 좋은 웹페이지 즐겨찾기