본문 바로가기

flutter5

Flutter] ListView or GridView 만들 때 팁 최근 강좌를 보면서 얻은 팁을 얘기해보습니다. 보통 ListView 위젯을 이용해서 레이아웃을 구성하면 잘 안되는 경우가 많습니다. item의 갯수는 10개인데 그 내용(자식의 내용)과 일치하지 않거나 혹은 높이가 무한이라서 발생되거나 등의 에러가 대표적입니다. 이런 경우 두가지 해결 방법이 있습니다. 1. shrinkWrap를 사용한다. 2. Expanded를 사용한다. 간단한 예제 코드 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( elevation: 0, backgroundColor: Colors.white, centerTitle: true, title: const Text( '이미지 검색 앱', style: TextSt.. 2022. 4. 5.
Flutter] Null Check, Null check operator used on a null value Null에 관련된 부분을 신경써야한다. 예를 들어 아래와 같은 코드가 있다고 했을 때 Align( alignment: Alignment.center, child: ChartSvg( url: _marketMapNotifier.chartImageMap[ widget.tickerNotifier.ticker.currencyPair]!, widthRatio: chartWidthRatio, height: chartHeight, color: getColor(), ) ), _marketMapNotifier.chartImageMap에서 chartImageMap은 Map으로 선언되어 있다. String?은 Null을 허용하고 있다. 그런데 위에 코드에서 아래와 같이 !느낌표를 사용해서 Null을 허용하지 않게 만들었다. .. 2022. 3. 25.
Flutter] DropDownbutton의 화살표를 위치를 바꿔보자. DropdownButton ( icon: Align( alignment: Alignment.center, child: Icon( Icons.keyboard_arrow_down, ), ), ) 1. icon을 적용한다. 2. 그 다음 Align widget 혹은 Center widget으로 감싸준다. 3. alignment 옵션을 이용해서 위치를 조정하면 된다. 2022. 3. 15.
Flutter] 기본 레이아웃 이해 MainAxisAlignment Column는 시작점이 왼쪽 상단이 주축이다. 부모 위젯을 아무것도 두지 않은 상태에서 Column의 MainAxisAlignment.start를 하면 레이아웃은 아무것도 변하지 않는다. class _MyHomePageState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ Container( width: 50.0, height: 50.0, // margin: EdgeIns.. 2022. 1. 25.
Flutter] 오류 해결이 안된다. 에러 메시지 Exception: null. The flutter tool cannot access the file or directory. Please ensure that the SDK and/or project is installed in a location that has read/write permissions for the current user. 문제 발생 과정 1. VS Code 설치 2. Extends에서 Flutter, Dart를 설치. 3. Dart SDK 설치 4. 안드로이드 스튜디오 설치 5. CMD에서 flutter doctor -v 입력. 6. Android toolchain 에러로 인해 flutter doctor --android-licenses 명령어 실행 7. VS Code.. 2022. 1. 7.