반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 기술면접공부
- 코테공부
- querydsl
- JPA예제
- 알고리즘공부
- nestjs스터디
- 자바공부
- 기술공부
- 플러터 공부
- 스프링부트공부
- 카프카
- DDD
- 스프링공부
- 프로그래머스
- 자료구조공부
- 플러터 개발
- JPA스터디
- 코테준비
- K8S
- JPA공부
- 스프링 공부
- nestjs공부
- 스프링부트
- Flutter
- 스프링
- JPA 공부
- JPA
- nestjs
- Axon framework
- Kafka
Archives
- Today
- Total
DevBoi
[Flutter] 플러터 화면 이동 본문
반응형
GestureDetector로 컴포넌트를 감싼다.
해당 으로 컴포넌트 당 클릭이나 이벤트가 발생할때 동작하는지 보자.
해당으로 하게 되면, 컨테이너를 클릭하면 gd가 프린트 된다.
GestureDetector(
onTap: (){print('gd');},
child: Container(
// autogroupnhff9QD (GhkWyreBLNBRcThyFanhFF)
width: double.infinity,
height: 60*fem,
decoration: BoxDecoration (
color: Color(0xffca3c3c),
),
child: Center(
child: Text(
'Login',
style: SafeGoogleFont (
'Inter',
fontSize: 12*ffem,
fontWeight: FontWeight.w400,
height: 1.2125*ffem/fem,
color: Color(0xff131010),
),
),
),
),
)
자 그러면 이제 눌렸을때 다음 화면으로 이동해보자
이동은 핵심적으로 2가지만 구현해보자
1. Push
페이지 스택에 쌓는것이다.
GestureDetector(
onTap: (){
Navigator.push(context, MaterialPageRoute(builder: (context) => Scene2()),);
},
back Button 클릭시 아래와 같이 돌아가면 된다.
GestureDetector(
onTap: (){Navigator.pop(context);},
child: Container(
2. 새로운 페이지 시작
스택을 쌓다가 너무많으면 문제가 발생한다.
따라서 해당 스택을 다시 시작할 수 있다.
Navigator.pushNamedAndRemoveUntil(context, '/', (_) => false);
Navigator.push(context, MaterialPageRoute(builder: (context) => Scene2()),);
3.라우터 등록
실무에서 가장 많이 쓰이지 않을까 싶다.
라우터로 리스트를 정리하고, 해당 페이지로 이동하는 것이다.
return MaterialApp(
routes: {
'/first':(context) => Scene(),
'/second':(context) => Scene2()
},
GestureDetector(
onTap: (){
Navigator.pushNamed(context, '/second');
},
사실 이건 이동에 가까워서 이동할때 모습이 맘에 안들면
Push, pop과 섞어서 쓰면 좋을 듯하다.
무튼 이렇게 3가지인데, 사용은 거의 2가지만 할것같다.
반응형
'[Mobile] > [Flutter]' 카테고리의 다른 글
[Flutter] 정적 리스트뷰 (0) | 2023.07.15 |
---|---|
[Flutter] 화면 이동간 데이터 전달 (0) | 2023.07.15 |
[Flutter] assets에 추가하고 IOS 빌드에 추가 (0) | 2023.07.15 |
[Flutter] 피그마로 레이아웃 잡고 소스뽑기 (0) | 2023.07.15 |
[Flutter] Widget 별 가독성 향상 (0) | 2023.07.11 |