Explicit과 반대로 암시적인 이라는 의미를 갖고있고 Flutter가 animation을 통제하도록 하는 방법이다.
역시 Explicit과 반대로 자유도는 조금 떨어질지라도 훨씬 복잡하지도 않고 관리할 코드도 줄어든다.
또한 이미 위젯화가 되어있어 그냥 갖다 쓰기만 하면 된다.
공식 홈페이지 에서 확인할 수 있다.
AnimatedSwitcher의 핵심 속성인 transitionBuilder이다. 함수를 넣어줘야하며 함수의 반환값을 위젯이어여하고 매개변수는 첫번째는 animate가 될 대상 위젯, 두번째는 실제로 동작할 animate가 들어간다.
이때 반환 위젯
은 Transition 위젯
이 들어가면 된다.
그리고 해당 child, animation은 flutter에 의해 알아서 자동으로 들어가게 된다.
이때 default로 animation 값을 그냥 넣었는데 이게 싫다면 Tween 객체로 시작과 끝 지점을 지정할 수 있다.
그리고 AnimatedSwitcher 는 child에 key 속성을 통하여 의존성을 확인하고 key 값에 들어있는 값이 변화하면 그때서야 flutter에서 인식하여 animate를 진행한다.
또한 ValueKey 클래스를 이용하여 생성자 함수의 인수로 의존성 값을 넣어주면 된다.