[Flutter] 레이아웃 위젝


flutter 레이아웃 위젯

Row, Column

  • Row : 가로로 여러 위젯을 배치할 때 사용하는 위젯

  • Colomn : 세로로 여러 위젯을 배치할 때 사용하는 위젯

  • Expanded : Column, Row 위젯안에서 영역을 전체로 확장할 때 사용하는 위젯


ListView, ListTile

  • ListView : 여러 위젯을 나열할 때 사용하는 위젯, Column이나 Row와 달리 스크롤이 가능한 위젯 스크롤 방향을 성정할 수 있음

  • ListTile : ListView에서 사용하는 기본 위젯


InkWell, GestureDetector

  • InkWell : 위젯을 클릭 가능하도록 (클릭 모션 o)

  • GestureDetector : 위젯을 클릭 가능하도록 (클릭 모션 x)


여러 위젯 같이 써보기

Stateful 위젯 (동적)

현재 상태를 가지고 있는 위젯
상태에 따라 UI가 변경될 때 Stateful 위젯을 사용
StatefulWidget과 State 2개의 클래스로 사용

  • createState() : Stateful 위젯을 생성하는 메소드

  • initState() : Stateful 위젯이 처음 생성될 때 호출되는 메소드. 데이터를 초기화 할 때 사용

  • setState() : 위젯의 상태 변경을 호출하는 메소드

  • dispose() : 위젯이 제거될 때 사용


Stateless 위젯 (정적)

상태를 가지고 있지 않은 위젯
상태에 따라 UI가 변경되지 않을 때 Stateless 위젯을 사용


페이지 이동하기

  • Navigator

플러터에서 화면을 관리하는 클래스
Stack으로 화면을 쌓는 구조
Navigator.push 새로운 페이지 이동
Navigaotr.pop 페이지 종료

  • MaterialPageRoute

플러터에서 화면을 추가하는 클래스