웹 같은 경우 ~~~.html, **.html 이런식으로 html 파일을 여러개 만들어놓고 보여주는 형식이지만 앱의 경우 페이지가 1개이다. 그래서 앱은 한 페이지 내에서 위젯 단위로 컨텐츠를 보여준다고 생각하면된다.
동적인 UI 만드는 법
1. 현재 UI의 현재 상태를 저장할 state 만들기
2. 그 state에 따라서 현재 UI가 어떻게 보일지 코드를 짜기
3. 유저가 state를 쉽게 조작할 수 있는 기능도 개발해놓기
1. 현재 UI의 현재 상태를 저장할 state 만들기
var tab = 0;
2. 그 state에 따라서 현재 UI가 어떻게 보일지 코드를 짜기
body: [ Text('홈페이지'), Text('샵페이지') ][tab],
3. 유저가 state를 쉽게 조작할 수 있는 기능도 개발해놓기
bottomNavigationBar: BottomNavigationBar(
showSelectedLabels: false, // 아이콘 밑에 텍스트 숨기기 기능
showUnselectedLabels: false,
onTap: (i){
setState(() {
tab = i;
});
}, // onTap = bottomNavigationBar용 onPressed
items: [
BottomNavigationBarItem(icon: Icon(Icons.home_outlined), label: '홈'),
BottomNavigationBarItem(icon: Icon(Icons.shopping_bag_outlined), label: '샵'),
],
),