본문 바로가기

Hello App/Flutter

Flutter _ Hero Widget

230604

 


 

지난 포스팅에서

우리는 Navigator를 이용하여

위젯간의 이동을 만들어

 

마치 또 다른 화면이 나오게끔

만들었다.

 

하지만 이러한 화면의 전환 말고도

Flutter에는 Hero라는 위젯을 통해

애니메이션 효과를 주어

마치 화면이 전환 된것처럼 보이게 할 수 있다.

 


1. Hero 

 

현재 우리는 썸네일을 클릭하면

DetailScreen 위젯으로 넘어가는데

 

이번에는 Hero 위젯을 사용하여

클릭했을때 썸네일이 확장되어

 

화면이 이동된것처럼

만들어보자.

 

webtoon_widget 파일에서

 

우선 우리의 주 목표

웹툰의 썸네일을 가지고있는 

ContainerHero 위젯으로 감싼다.

 

 

감싸는 Hero 위젯은

위의 사진과 같이 

tagchild라는 인자를

필수로 필요로한다.

 

여기서 tag란 

Hero의 핵심 요소로

위젯과 위젯 연결의 연결고리 역할을 한다.

 

실제 웹에서는 id가 가장 유사하다.

 

우리는 API에서 웹툰의 id도 받았는데

이를 여기에 사용해보자.

 

자 이제 Webtoon 클래스의

썸네일부분의 Container

id라는 tag가 붙었다.

 

DetailScreen 클래스쪽으로 넘어가자.

 

 

DetailScreen에 있는ContainerHero 위젯으로 감싸고tagid로 지정해 주면

 

위와 같이 애니메이션 효과가 적용되었다.

 

 

'Hello App > Flutter' 카테고리의 다른 글

Flutter _ Futures & Detail Screen Upgrade  (0) 2023.06.06
Flutter _ ApiService Upgrade  (0) 2023.06.05
Flutter _ Detail Screen  (0) 2023.06.05
Flutter _ Webtoon Card  (0) 2023.06.02
Flutter _ ListView  (0) 2023.06.01