
Google Antigravity 에 대하여 간단하게 알아봤다
(가장 많이 쓰는 부분만 표시)
alignment 속성이 변경되면 애니메이션 진행되는 위젯alignment decoration width height padding 등의 속성이 변경되면 애니메이션 진행되는 위젯opacity 속성(투명도)이 변경되면 애니메이션이 진행되는 위젯left top right bottom 속성이 변경되면 애니메이션이 진행되는 위젯Stack 내에서 사용(Positioned 위젯의 애니메이션 버전)Hero 위젯 내 tag 속성을 사용하여 두 화면의 연결 고리를 만듬. 이 태그 값이 같아야 화면 전환 시 애니메이션이 작동
사용하는 이유
NotificationListener 위젯 사용NotificationListener : 하위 위젯에서 특정한 알림(스크롤 이동 등)이 발생 했을 때 onNotification 속성에 정의한 함수 실행onNotification 속성에 들어가는 함수에는 notification 이 파라미터로 들어감ScrollStartNotification 객체, 스크롤 이동할 땐 ScrollUpdateNotification 객체, 스크롤 끝났을 땐 ScrollEndNotification 객체가 전달됨ScrollUpdateNotification 객체엔 ScrollMetrics 타입의 metrics 속성이 있음metrics.pixels: 현재 스크롤 위치.metrics.maxScrollExtent: 스크롤 가능한 최대 범위.metrics.minScrollExtent: 스크롤 가능한 최소 범위.metrics.extentAfter: 현재 위치 이후 남은 스크롤 거리.metrics.extentBefore: 현재 위치 이전의 스크롤 거리.metrics.pixels)가 스크롤 가능한 최대 범위(metrics.maxScrollExtent)보다 클 때 데이터 추가 요청onNotification 리턴타입 bool ⇒ 이벤트 버블링 취소할지 여부리스트뷰를 드래그한 채로 아래로 내리면 새로 서버에서 데이터를 받아와 최신화 하는 기능
RefreshIndicator 위젯 사용RefreshIndicator : 당겨서 새로고침(Pull-to-Refresh) 동작을 쉽게 구현할 수 있는 머티리얼 디자인 위젯onRefresh 속성에 Future<void> Function() 선언하여 구현main, mainLight, sub 등등ThemeData의 기본 속성만으로는 이 모든 색상을 정의하기에는 제한이됨ThemeData 의 extensions 속성 사용 (ThemeExtension 클래스 리스트)ThemeExtension 상속AppThemeExtension 상속받은 LightTheme, DarkTheme 클래스에서 각각 색상 정의ThemeData 객체를 담을 lightTheme, darkTheme 변수 선언 및 객체 할당ThemeData extensions 속성에 만든 LightTheme, DarkTheme 객체 할당AppThemeExtension 에 편하게 접근할 수 있도록 BuildContext에 extension만들기패키지 추가 : flutter pub add go_router
/user 경로에 id 파라미터로 넘기고 싶을 때 user/:id/post 경로에 id 파라미터로 넘기고 싶을 때/post/:id/page/1/search 경로에 text 라는 query 파라미터 넘기고 싶을때 ⇒ /search?text=test/post 경로로 이동 시 로그인 페이지로 리다이렉트 가능Navigator.push Navigator.pop 으로 라우트 스택 직접 관fl