목록전체 글 (366)
seong

Spacer 위젯 - Column, Row위젯 처럼 Flex공간이 존재하는 위젯에서 위젯과 위젯 사이의 공간의 여백을 주는데 사용된다. - 생성자 flex를 선언할 수 있다, - flex : 위젯 사이의 비율을 말한다. 소스코드 Column( children: [ Expanded( flex: 3, child: Column( children: [ const Spacer(), // 공간 여백 추가 Text( "TOKOTO", style: TextStyle(fontSize: getProportionateScreenHeight(36), color: kPrimaryColor, fontWeight: FontWeight.bold), ), const Text("Welcome to Tokoto, Let's shop!")..

문제 : 아래는 Column내부에 Text(Title), Row위젯(Price, icon)이 있다, Text에 maxLine을 2로 주었을 때, Text의 Line에 따라서 Row의 위치가 변한다, 해결 : 처음에는 Row위젯을 SizedBox로 감싸 height를 주려 했으나, 그렇게 해봤자 어차피 달라지는 점은 없다. 동적으로 변하는 Text(Title)을 SizedBox로 감싸 높이를 주었다. 기존의 소스코드 Text( product.title, style: const TextStyle(color: Colors.black), maxLines: 2, ), 변경 후 소스코드 SizedBox( height: getProportionateScreenHeight(42), child: Text( product..
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에 데이터를 추가하니, 추가 한 이후..