Coaspe

Flutter - ImplicitlyAnimatedWidget 본문

Flutter/API

Flutter - ImplicitlyAnimatedWidget

Coaspe 2023. 2. 17. 13:59

프로퍼티의 변화에 따라 애니메이트하는 위젯을 만들기 위한 추상 클래스입니다.

 

이 타입의 위젯들은 위젯 트리에 처음 추가 되었을 때는 애니메이트하지 않습니다. 하지만 다른 값으로 rebuilt 될 때, 그 변화에 맞춰 지정된 duration 동안 애니메이션을 수행합니다.

 

어떤 프로퍼티의 변화에 맞춰 애니메이트 될 지는 서브클래스가 결정합니다. 서브클래스들의 States는 반드시 ImplicitlyAnimatedWidgetState를 확장해야하고 애니메이션을 수행하기 위해 관련된 필드를 방문할 수 있게 해야합니다.

 

Relationship to AnimatedWidgets

ImplicitlyAnimatedWidgets(과 그것들의 서브클래스들)는 프로퍼티가 변화하면 자동적으로 언제나 애니메이트 합니다. 이렇게 작동하기 위해, 위젯들은 스스로의 AnimationControllers를 생성하고 관리합니다. 이러한 위젯들은 사용이 간편하고 AnimationController의 생명주기를 수동으로 관리할 필요가 없지만, 다음과 같은 제한이 있습니다: 애니메이션 속성의 타겟값 외에 개발자는 애니메이션의 durationcurve 만을 선택할 수 있습니다.  만약 애니메이션에 대한 더 많은 제어를 원한다면(e.g. 중간에 멈추기), AnimatedWidget나 이것의 서브클래스들을 사용해보세요. 이 위젯들은 애니메이션을 power하기 위해 Animation 을 인자로 받습니다. 이 위젯은 우리가 AnimationController을  수동으로 제어하게 하므로써 애니메이션에 대한 완전한 제어를 가능하게 합니다.

 

Common implicitly animated widgets

Flutter는 많은 implicitly animated 위젯을 가지고 있습니다. 그 위젯들은 보통 AnimatedFoo라고 이름지어지는데, Foo는 해당 위젯의 non-animated 버젼입니다.(예를들면 Container -> AnimatedContainer 여기서 Foo가 Container라는 말이다.). 자주 사용되는 implicitly animated 위젯은 다음과 같습니다.

상속 구조

생성자

ImplicitlyAnimatedWidget({Key? key, Curve curve = Curves.linear, required Duration duration, VoidCallback? onEnd})

 

Implementers

 

 

'Flutter > API' 카테고리의 다른 글

Flutter - Navigator class  (0) 2023.02.17
Flutter - AnimatedWidget  (0) 2023.02.17
Flutter - Tween<T extends Object?>  (0) 2023.02.17
Flutter - RestorationMixin<S extends StatefulWidget>  (0) 2023.02.17
Flutter - InheritedWidget  (0) 2023.02.17
Comments