목록전체 글 (364)
seong
https://beomseok95.tistory.com/320#AnimatedSwitcher
PageRouteBuilder에 FadeTransition위젯을 사용해주면 페이지 이동시에 이전 화면에 투명도를 줘서 부드럽게 이동하게 해준다. transitionDuration : 화면 이동 까지 걸리는 시간 reverseTransitionDuration : 이전 화면 이동 까지 걸리는 시간 FadeTransition : 이전 화면 투명도 주기 Navigator.push( context, PageRouteBuilder( transitionDuration: Duration(milliseconds: 500), reverseTransitionDuration: Duration(milliseconds: 500), pageBuilder: ((context, animation, secondaryAnimation) ..
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..
showModalBottomSheet와 TextFormField를 사용할때 TextFormField를 선택 시 키보드 영역이 가려서 불편했다. 그렇다고 일반적인 ScrollAnimate를 추가해도 되지 않았고, 결국 찾은 방법은 아래와 같다. Padding을 추가 EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
에러 내용 Bottom_model_sheet 패키지를 사용 하려하니 아래의 에러가 발생 Error: 'ModalBottomSheetRoute' is imported from both 해결 기존의 material.dart에 BottomSheetRoute를 숨겨주면 된다.
TODO 만들던 도중 아레 처럼 List부분에서 에러가 발생했다. RangeError (index): Index out of range: no indices are valid: 1 원인 build 코드에서 이미 model이 null이면 CircularProgressIndicator()를 띄워주게 되어있다. 근데도 RangeError에러가 발생했다. 그리고 View에서도 AppBar까지는 build가 되는것을 보니 그 이후 코드가 문제였다. 문제가 발생한 부분 List선언 코드 아래 코드에서는 widgetModelList는 빈 List로 초기화 되어있다. 그런데 [index]를 사용하여 widgetData에 저장을 하려 하니 에러가 발생했다. 해결 for문으로 List에 데이터를 추가하니, 추가 한 이후..
구글 로그인 기능을 테스트 하던 도중 첫 테스트 부터 에러가 발생했다. 에러내용은 아래와 같다. People API has not been used in project 596174272297 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/people.googleapis.com/overview?project=596174272297 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry." 이유를 찾아보니 프로젝트의 API가 비활성화..
Button을 만들고 로그인 까지 테스트 해보기 1. 먼저 버튼을 만들어준다. ElevatedButton.icon( onPressed: () { }, icon: FaIcon(FontAwesomeIcons.google), label: Text("Google login"), ) 2. google_sign_provider 작성 final googleSignProvider = Provider((ref) { return GoogleSignProvider(ref); }); class GoogleSignProvider { final Ref _ref; GoogleSignProvider(this._ref); final googleSignIn = GoogleSignIn(); // 로그인한 사용자를 저장할 변수 User? ..