728x90
반응형
화면을 이동할 때 android에서 startActivitty, ios는 present였나..? 를 사용했다.
플루터에서는 단순히 Navigator를 사용해서 화면 이동을 한다.
화면을 이동할 때 단순하게 앞의 스크린을 기억하는 것은
: Navigator.push (...)를 사용하고,
앞의 스크린을 기억할 필요가 없는 경우
: 안드로이드에서 startActivity하고 finish()하는 것처럼
: Navigator.pushAndRemoveUntil(...)을 사용한다.
현재 스크린을 새로운 스크린으로 대체
애니메이션은 push와 동일
: pushReplacement
최초 스크린이 아닌 경우 뒤로가기,
최초 스크린인 경우 뒤로가지 않음
: maybePop
return GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
DetailScreen(title: title, thumb: thumb, id: id),
fullscreenDialog: true
),
);
},
void onNextProcess() {
Future.delayed(const Duration(seconds: 5), () {
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(builder: (context) => const HomeWidget()),
(route) => false,
);
});
}
Navigator.pushAndRemoveUntil(context, newRoute, predicate)
- predicate : true = 이전 화면이 사라지지 않음
- predicate : false = 이전 화면까지 사라짐( pandas에서 inplace=True 하는 느낌이라고 보면 됨)
728x90
반응형
'dev > flutter' 카테고리의 다른 글
[Flutter] Debug모드 확인 (0) | 2023.12.14 |
---|---|
[Flutter] Webview웹뷰 띄우기 (0) | 2023.12.12 |
[Flutter] Progressbar 중앙에 배치 (0) | 2023.12.12 |
[Flutter] 스플래시(Splash, Intro) (0) | 2023.12.12 |
[Flutter] 전체 이미지 띄우기 + 폰트 설정 (0) | 2023.12.12 |