seong
Flutter - 페이지 이동 PageRouteBuilder과 Hero 효과 주기 (1) 본문
Hero 위젯과 PageRouteBuilder를 잘 사용해주면 아래 처럼 페이지 이동이 된다.
소스코드
페이지 이동 PageRouteBuilder + Hero
GridView로 index를 통해 tag값을 동일하게 설정.
ProductCard(
product: demo_products[index],
press: () {
Navigator.push(
context,
PageRouteBuilder(
pageBuilder: ((context, animation,
secondaryAnimation) =>
DetailsScreen(
product: demo_products[index])),
),
);
})
Hero
Hero위젯 사용시 주의 사항
출발 화면과 도착화면 모두 동일한 tag를 설정 해주어야 원하는 UI가 그려진다.
출발 화면 Hero 부분
Hero(
tag: product.title!,
child: Image.asset(product.image!),
),
도착 화면 Hero
Container(
width: double.infinity,
color: Color(0xFFF8F8F8),
child: Hero(
tag: widget.product.title! + _cartTag,
child: Image.asset(widget.product.image!),
),
),
'Flutter > Flutter' 카테고리의 다른 글
Flutter Animation 효과들 정리 글 링크 (0) | 2023.08.24 |
---|---|
Flutter - FadeTransition 페이지 이동 투명도 위젯 (0) | 2023.08.20 |
Flutter - Bottomsheet 키보드 영역 만큼 올리는 법 (0) | 2023.08.14 |
3. Flutter Web 프로젝트 Firebase + Google OAuth 연결하기 3단계 (0) | 2023.07.20 |
2. Flutter Web 프로젝트 Firebase + Google OAuth 연결하기 2단계 (0) | 2023.07.19 |