Scaffold()를 이용한 화면 인터페이스 제작

appBar 화면 상단에  탭 바를 만들어줌
body 상단 바와 하단 바 사이에 메인 내용이 들어가는 영역
bottomNavigationBar 화면 하단에 탭 바를 만들어줌
floatingActionButton 화면 공중에 위치하는 버튼을 만들어줌
floatingActionButtonLocation 'FloatingActionButton'의 위치를 조정
toolbarHeight 'appBar'의 높이를 지정해줌

Scaffold()의 drawer 기능

drawer 앱바의 좌측에 자동으로 메뉴 위젯을 추가하고, 클릭 또는 화면을 드래그하여 메뉴를 꺼낼 수 있음
endDrawer 'drawer'와 기능은 동일하나, 위젯을 앱바의 우측에 추가함
drawerEdgeDragWidth 드래그로 메뉴를 꺼낼 때, 터치를 인식하는 너비를 지정해줌
drawerEnableOpenDragGesture 드래그로 메뉴를 꺼내는 기능을 켜고 끌 수 있음
drawerScrimColor 메뉴가 나와있을 때 여백 공간의 색상을 지정

※ drawer 관련 위젯은 AppBar()의 괄호가 아닌, Scaffold()의 괄호에 입력해야 함

 

AbbBar()의 기능

title 앱바의 중간에 들어갈 요소를 입력할 수 있음
centertitle 'title'속성을 가운데 정렬시킬 수 있음
leading 앱바의 좌측에 위젯을 추가시킬 수 있음
actions 앱바의 우측에 위젯을 추가시킬 수 있음
backgroundColor 앱바의 배경색을 변경할 수 있음
elevation 앱바의 그림자 정도를 지정할 수 있음

 

bottomNavigationBar의 하위 위젯들

Tabbar() tabs[]의 배열 안에 tab()위젯을 이용하여 각각의 탭을 생성해줌.
탭 화면의 내용은 Body 안에 TabBarView()의 children[] 배열안에 담아줘야 함.
BottomNavigationBar() 각각의 탭에 currentIndex라는 속성으로 인덱스가 부여됨.
하지만, 값만 부여되고 클릭 시에 인덱스의 변경은 onTap을 이용하여 직접 구현해줘야 함
그 후, 화면을 담은 리스트에 배열의 인덱스 값으로 currentIndex 값을 넘겨 화면을 전환

 

레이아웃 위젯 ( 하나의 자식 요소만 가능 )

Container() 크기의 기본 값을 최대 크기(부모 요소의 크기)로 가지는 레이아웃 위젯
SizedBox() 크기의 기본 값을 자식 요소의 크기로 가지는 레이아웃 위젯, Container()보다 가벼움

 

레이아웃 위젯 ( 다수의 자식 요소 가능 )

Row() Children 속성의 배열 속 요소들을 가로로 정렬시켜 보여줌
Column() Children 속성의 배열 속 요소들을 세로로 정렬시켜 보여줌
ListView()  

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기