Skip to content

Latest commit

 

History

History
66 lines (36 loc) · 2.42 KB

위젯 개념 정리.md

File metadata and controls

66 lines (36 loc) · 2.42 KB

위젯

  • 위젯이란?

    • 독립적으로 실행되는 작은 프로그램
    • 주로 바탕화면 등에서 날씨나 뉴스, 생활저보 등을 보여줌.
    • 그래픽이나 데이터 요소를 처리하는 함수를 갖고 있음.
  • 플러터 상에서 위젯이란?

    • 앱의 UI를 만들고 구성하는 모든 기본 단위 요소

      Ex) 이미지, 텍스트, 아이콘, 버튼...

    • 플러터에서는 눈에 보이지 않는 요소들까지 전부 위젯이라고 말함.

      • 정렬이나 레이아웃도 위젯으로 침.
      • 그냥 다 위젯이라고 생각하면 편하다.
  • 플러터에서 필수로 알아야 할 위젯

    • Stateless 위젯

      • 이전 상호작용에 어떠한 값도 저장하지 않음(상태가 없는 정적인 위젯)
      • 스크린상에 존재만 할 뿐 아무것도 하지 않음
      • 어떠한 실시간 데이터도 저장하지 않음
      • 어떤 변화(모양이나 상태)를 유발시키는 value값을 가지지 않음
    • Stateful 위젯

      • Value값을 지속적으로 추적하고 보존함(계속 움직이거나 변화가 있는 위젯)

      • 사용자에 interaction(상호작용)에 따라 모양이 바뀜

      • 데이터를 받게 되었을때 모양이 바뀜

        Ex) 로그인, 리스트뷰, 텍스트필드...

  • 위젯 트리

    • 플러터 내부 위젯들은 tree 구조로 정리될 수 있음
    • 한 위젯 내에 얼마든지 다른 위젯들이 포함될 수 있음
    • 위젯들은 부모 위젯과 자식 위젯으로 구성되어있음
    • 부모 위젯을 위젯 컨테이너라고 부르기도 함

MyApp: MaterialApp이 빌드되는 최상위 위젯

MaterialApp: 전체 위젯을 감싸주는 위젯

MyHomePage: 기능과 디자인이 만들어지는 위젯

Scaffold: 디자인과 기능을 구현하기 위한 하얀 도화지 위젯

AppBar: 앱 상단 제목에 고정되어있는 바. 경우에 따라 제거할수 있음

Center: 구성 요소를 중앙에 배치시키기 위해 사용하는 위젯

Column: 구성 요소를 세로로 배치할때 사용하는 위젯

그 외에 Row, Container 등등 많은 위젯들이 들어갈 수 있다.