반응형

Everything is a Widget.

플러터는 화면에 그려지는 모든 요소가 위젯으로 구성되어 있다.

자주 사용하는 위젯으로 텍스트, 제스처, 디자인. 배치 관련 위젯 등이 있다.

위젯은 현재 주어진 state 를 기반으로 어떤 UI 를 구현할지 정의한다.

state 가 변경되면 기존 위젯의 state 와 새로운 위젯의 state 를 비교하여 UI 변화를 반영할때 최소한 변경 사항을 산출하여 화면을 그려낸다.

자식(child)를 하나만 갖는 위젯

 - Container 위젯 : 자식을 담는 컨테이너 역할. 배경색, 너비와 높이, 테두리등의 디자인을 지정.

 - GestureDetector 위젯 : 제스처 기능을 자식 위젯에서 인식하는 위젯. 탭, 드래그, 더블클릭 등 제스처 기능이 자식 위젯에서 인식되었을 때 함수 실행.

 - SizeBox 위젯 : 높이와 너비를 지정하는 위젯. Container 위젯과 다르게 디자인적인 요소는 적용할 수 없고 const 생성자로 선언할 수 있어서 퍼포먼스 측면에서 더 효율적이다.

 

다수의 자식(child)를 입력 할 수 있는 위젯

 - Column 위젯 : children 매개변수에 입력된 모든 위젯들을 세로로 배치.

 -Row 위젯 :  children 매개변수에 입력된 모든 위젯들을 가로로 배치.

 - ListView 위젯 : 리스트를 구현할 때 사용. children 매개변수에 다수의 위젯을 입력할 수 있으며 입력된 위젯이 화면을 벗어나게되면 스크롤이 가능해진다.

반응형

+ Recent posts