탭을 사용하려면 필요한 요소들이 많습니다.
TabBar, Tab, TabBarView, TabController 등을 사용해야합니다.
1. TabController 생성
2. Tab 생성
TabBarView에 각 Tab에 해당하는 컨텐트 구성
1. TabController 생성
탭을 사용하기위해서는 선택된 탭과 컨텐츠 섹션이 동기화가 되어야합니다. 이런 작업을 해주는 것이 TabContoroller 입니다.
사용자가 만들거나, DefaultTabController를 사용해서 자동으로 만들 수 도 있습니다.
DefaultTabController를 사용하는 것이 간단하죠.
DefaultTabController는 TabContoroller과 상속트리에서 관점에서 크게 관련이 없습니다.
DefaultTabController는 StatefulWidget 위젯을 상속 받지만,
TabController는 ChangeNotifier 클래스를 상속 받습니다.
즉 DefaultTabController는 위젯이지만 TabController는 위젯이 아닙니다.
나중에 보시면 DefaultTabController가 TabBar와 TabBarView를 모두 감싸는 형태입니다.
2. Tab 생성
탭을 선택할수 있게 하는 화면이 있어야합니다.
탭들은 TabBar에 Tab을 넣어서 만들고,
다시 TabBar는 AppBar의 bottom에 넣어 줍니다.
icon과 text는 같이 쓸 수 는 있는데, 둘은 child와 같이 쓸 수는 없습니다. 둘중에 하나만 해야합니다.
3. 각각의 탭에 컨텐츠 생성
TabBarView 위젯을 사용합니다.
(이름이 TabBarView여서 TabBar안에 들어갈 것 처럼 느껴지지만, TabBar안에들어가는 것은 Tab입니다.)
TabBarView는 body안에 들어 갑니다.
TabBarView에는 컨텐츠를 보여줍니다.
[전체소스]
'flutter.widget' 카테고리의 다른 글
ValueListenableBuilder<T> (0) | 2019.11.22 |
---|---|
Card (0) | 2019.11.21 |
class (0) | 2019.11.20 |
LimitedBox (내용추가해야함) (0) | 2019.11.15 |
Widget (0) | 2019.11.15 |