본문 바로가기
공부/flutter

[flutter] 6.9 ~6.14

by 퇴사마루 2024. 4. 20.
728x90

6.9 Detail Screen

웹툰 위젯 분리

GestureDetector로 감싸서 제스처에따라서 어떤 반응을 할지 정할거다.

Navigator.push(context,Route)

route를 만들어야한다.

MaterialPageRoute를 넣어준다. StatelessWidget을 감싸서 다른스크린처럼 보이게 해준다. 

 

 

MaterialPageRoute의 fullscreenDialog를 사용하면

 

< 버튼이 X버튼이 되고 아래에서 올라온다. 

6.10 Hero widget

화면을 덮는대신 위젯을 화면간에 보내는 것

히어로 위젯을 사용하고 싶은 곳에 쓰고 각각의 위젯에 같은 태그만 주기만 하면 된다. 

 

6.11 Recap

Navigator도 statefulwidget이다

 


6.12 apiservice

웹툰의 상세정보를 가져오는  api model추가 및 메소드 추가

 

니코가 말한 JSON을 편하게 하도록 직렬화를 만들어주는 extenstion으로는
vs code내에 JSON to Dart 를 검색하시면 됩니다.
Json형식 파일을 빈 파일에 붙여넣으면 모델로 만들어줍니다.
1) json 코드를 복사한다.
2) ctrl shift p. command창에서 Json to Dart: Converter From Clipboard를 선택하고 옵션선택
3)models디렉토리에 dart파일이 생성됨.
다만 대규모 프로젝트에서는 저렇게 시리얼라이즈를 직접해주는 것보다는 라이브러리 사용을 공식문서에서 권장하고 있습니다.

더불어 , 세미콜론도 자동으로 찍어주는 extenstion으로 colonize도 추천드립니다.
https://marketplace.visualstudio.com/items?itemName=MuhammadNorzariman.jsontodart

6.13 futures

 멤버변수를 initializer안에서 접근할 수 없다.

이럴땐 statefulwidget으로 변신해야힌다. 

statefulwidget으로 변화시키고, 생성자에서 widget은 참조될 수 없기 때문에 에러가난다.
멤버변수를 사용하려면... setState를 이용해야하는구나. 이전에는 멤버변수를 사용하지 않아서 이렇게까지 하지 않앗는데.
기존에 그냥 속성값을 가져왔었는데, widget안에서 관리하는 상태이므로 이렇게 가져와야한다.

initState는 항상 build전에 한번만 실행되는 것을 이용.


6.14 Detail Info 

구조분해할당!
퓨쳐빌더로 Future값에 대한 fallback처리를 따로하지 않고 이렇게 구현햇습니당

 

'공부 > flutter' 카테고리의 다른 글

[flutter] 계층구조 카테고리 추천  (0) 2024.05.04
[flutter] 6.15 Episodes~  (0) 2024.04.21
[flutter] 6.8~  (0) 2024.04.20
[flutter] 6.0 ~ 6.7 WEBTOON APP  (0) 2024.04.19
[flutter]5.0~ pomodoro app  (1) 2024.04.18