Animation API 선택

다음 다이어그램은 애니메이션을 구현하는 데 사용할 API를 결정하는 데 도움이 됩니다.

적절한 애니메이션 API를 선택하기 위한 결정 트리를 설명하는 플로 차트
그림 1. 적절한 애니메이션 API를 선택하는 방법을 설명하는 결정 트리

적절한 애니메이션 API를 선택하기 위한 결정 트리를 설명하는 플로 차트

다음 결정 트리를 사용하여 사용 사례에 가장 적합한 애니메이션 API를 선택하세요.

  • 애니메이션이 아트 기반 (예: SVG 또는 이미지)인가요?
    • 예: 간단한 SVG (즉, 마이크로 애니메이션이 포함된 아이콘)를 사용하나요?
    • 아니요: 애니메이션을 무한 반복해야 하나요?
      • 예: rememberInfiniteTransition.
      • 아니요: 레이아웃에 애니메이션을 적용하고 있나요?
        • 예: 서로 다른 콘텐츠가 포함된 컴포저블 간에 전환하시나요?
          • 예: Navigation-Compose를 사용하고 있나요?
          • 아니요: 콘텐츠의 표시 또는 사라짐을 애니메이션 처리하고 있나요?
            • 예: Modifier.alpha()와 함께 AnimatedVisibility 또는 animateFloatAsState
            • 아니요: 크기 변경을 애니메이션 처리하고 있나요?
              • 예: Modifier.animateContentSize.
              • 아니요: 다른 레이아웃 속성 (예: 오프셋 또는 패딩)을 애니메이션으로 설정하고 있나요?
                • 예: '속성이 서로 완전히 독립적입니까?'를 참고하세요.
                • 아니요: 목록 항목에 애니메이션을 적용하고 있나요?
        • 아니요: 여러 속성에 애니메이션을 적용하나요?
          • 예: 속성이 서로 완전히 독립적입니까?
            • 예: animate*AsState. 텍스트의 경우 TextMotion.Animated를 사용합니다.
            • 아니요: 동시에 시작해야 하나요?
              • 예: AnimatedVisibility, animateFloat, animateInt 등이 포함된 updateTransition
              • 아니요. animateTo가 있는 Animatable로, 정지 함수를 사용하여 다른 타이밍으로 호출됩니다.
          • 아니요: 애니메이션에 사전 정의된 타겟 값이 있나요?
            • 예: animate*AsState. 텍스트의 경우 TextMotion.Animated를 사용합니다.
            • 아니요: 애니메이션이 동작 기반이며 단일 정보 소스인가요?
              • 예: AnimatableanimateTo / snapTo
              • 아니요: 상태 관리가 없는 일회성 애니메이션인가요?

다이어그램의 PDF 버전을 다운로드합니다.