MotionLayout 정리

wonseok·2023년 1월 23일
0

MotionLayout 클래스는 UI 레이아웃의 뷰에 애니메이션 효과를 쉽게 추가하는 방법을 제공합니다.

MotionLayout은 레이아웃 컨테이너이며, 레이아웃에 있는 뷰를 한 상태에서 다른 상태로 생동감 있게 전환하는 것이 주목적입니다.

예를 들어, MotionLayout은 ImageView 인스턴스가 지정된 시간을 따라 화면의 왼쪽 위 모서리부터 오른쪽 밑 모서리로 생동감 있게 움직이도록 할 수 있습니다. 또한, 위치에 추가하여 색상, 크기, 회전 각도 등의 다른 속성을 변경해도 애니메이션을 구현할 수 있습니다.

MotionLayout의 애니메이션은 XML로 선언되므로 코드 작성이 필요 없습니다.
MotionLayout에서는 동적인 뷰(애니메이션이 수행되는 뷰)도 레이아웃 파일에 선언합니다.
그러나 이런 뷰와 관련된 선언은 MotionScene 파일이라고 하는 별도의 XML 파일에 저장됩니다.

요약하자면, MotionLayout은 UI 레이아웃의 뷰에 애니메이션 효과를 추가하기 위해 특별히 ConstraintLayout의 서브 클래스로 설계되었습니다. MotionLayout은 시작과 끝 ConstraintSet에 정의된 뷰의 두 상태 간 전환을 수행하여 작동합니다. 또한, 부수적인 애니메이션 효과는 시작과 끝 지점 간에 키 프레임을 사용해서 추가할 수 있습니다.

애니메이션은 OnClick이나 OnSwipe 핸들러를 통해 시작할 수 있으며, 코드에서 MotionLayout 인스턴스의 함수를 호출해서 시작할 수도 있습니다.

0개의 댓글