Framework 를 사용해 개발한다는 것은 생산성을 얻고 자유도를 잃기 마련인데.... Flutter 도 Framework 인 만큼 생산성을 얻었다. 그러면 자유도를 잃었느냐?
"니가 원하는건 빠르게 만들 수 있어. 이미 다 만들어놨거든."
정말 당황했다. 특히 Scaffold
Container
UIView, 특히 Superview 가 되는 UIView 라고 생각하면 된다.
기본적인 Property
height
width
color
Swift
복사
Row
Horizontal StackView 라고 생각하면 된다.
mainAxisAlignment // children widget 사이 관계
mainAxisSize // childern 들을 담는 container와 superview의 layout
crossAxisAlignment // children 들의 세로 정렬. default 는 center
Swift
복사
Column
Vertical StackView
Property 는 Row와 동일하며 각 Property 의 axis가 의미하는게 row ⇒ column 으로 변경될 뿐이다
Flexible
가능한 공간을 모두 차지한다.
flex 는 비율을의미한다.
flex // defualt 1
fit // FlexFit.loose => tight 옵션을 주면 가능한 공간만큼 차지한다.
Swift
복사
Expended
Flexible 과 Expended 는 사실상 같다. Flexible 에서 fit 값을 tight 로 변경한 것과 같다
즉, fit 의 기본 값이 다른 Widget 이다
flex
Swift
복사
SizedBox
child 의 widget height, width 를 변경시켜 준다.
만약 child를 주지 않는다면 빈 공간이 생긴다. 그래서 빈 공간 Spacing을 줄 때 자주 사용한다.
height
width
Swift
복사
Spacer
SizedBox와 마찬가지로 빈 공간을 만들기 위해 사용한다.
차이점이 있다면 SizedBox 는 width, height 의 절대값 기반이고 Spacer 는 flex 로 % 단위(?) 이다
flex
Swift
복사
Text
사실 가장 먼저 나왔어야 하는 Widget이 아니었나 싶다.
style // color, font 설정
Swift
복사