[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
플러터에서 화면을 추가하는 클래스