728x90
반응형
SMALL
IndexedStack이란 Stack 위젯의 특별한 형태로, 여러 자식 중 하나를 표시하고
index 속성을 변경하여 다른 자식을 화면에 표시할 수 있습니다.
IndexedStack을 활용하여 자식에 IndexedStack1, 2, 3이라는 텍스트를 배열로 주었고,
bottomNavigationBar를 하단에 내비게이션바로 똑같이 3개의 아이콘의 배열로 구성했습니다.
currentIdex로 선택된 아이콘에 컬러가 바뀔 수 있도록 했고,
onTap 으로 index를 선택 할 수 있도록 했고
print를 해봤을 때 잘 보입니당
class _MainScreenState extends State<MainScreen> {
int _selectedIndex = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
body: IndexedStack( //하나의 스크린에서 가운데 부분만 바뀜
index: _selectedIndex,
children: [
Center(child: Text("IndexedStack 1")),
Center(child: Text("IndexedStack 2")),
Center(child: Text("IndexedStack 3")),
],
),
//하단 내비 설정
bottomNavigationBar: BottomNavigationBar(
currentIndex: _selectedIndex, //선택 된 아이콘에 컬러주기
onTap: (index) {
print("선택 된 index : , $index");
setState(() {
_selectedIndex = index;
});
},
items: [
//FontAwesome 아이콘 사용
BottomNavigationBarItem(
icon: Icon(FontAwesomeIcons.user), label: "친구"),
BottomNavigationBarItem(
icon: Icon(FontAwesomeIcons.comment), label: "채팅"),
BottomNavigationBarItem(
icon: Icon(FontAwesomeIcons.ellipsisH), label: "더보기"),
],
),
);
}
}
728x90
반응형
LIST
'FLUTTER' 카테고리의 다른 글
Flutter에서 FontAwesome 아이콘 사용하기, 플러터 폰트어썸 사용방법 (0) | 2023.09.08 |
---|---|
flutter/플러터 스토어앱 만들기 예제를 통한 Dart 문법 공부 (1) | 2023.08.25 |
FLUTTER 설치와 환경변수 설정_PATH 설정_플러터 윈도우 설치 (0) | 2023.08.23 |