[Flutter] bottomNavigationBar_01

nyagu·2023년 7월 13일
0

Fultter

목록 보기
2/8

이전 포스팅은 Material Design 2이고 이번에는 Material Design 3의 경우 bottomNavigationBar를 기록한다.

마찬가지로 화면(body) 인덱스에 관한 변수와 함수를 선언한다.

  int _selectedIndex = 0;

  void _onTap(int index) {
    setState(() {
      _selectedIndex = index;
    });
  }

이후 BottomNavigationBar가 아닌 NavigationBar 위젯을 불러온다.
BottomNavigationBar 는 Material Design 2 이고,
NavigationBar는 Material Design 3 이다.

      bottomNavigationBar: NavigationBar(
        selectedIndex: _selectedIndex,
        onDestinationSelected: _onTap,
        destinations: [
          NavigationDestination(
            icon: _selectedIndex == 0
                ? const Icon(Icons.widgets)
                : const Icon(Icons.widgets_outlined),
            label: 'Components',
          ),
          NavigationDestination(
            icon: _selectedIndex == 1
                ? const Icon(Icons.format_paint_outlined)
                : const Icon(Icons.format_paint_outlined),
            label: 'Color',
          ),
          NavigationDestination(
            icon: _selectedIndex == 2
                ? const Icon(Icons.text_snippet)
                : const Icon(Icons.text_snippet_outlined),
            label: 'Typography',
          ),
          NavigationDestination(
            icon: _selectedIndex == 3
                ? const Icon(Icons.invert_colors_on)
                : const Icon(Icons.invert_colors_on_outlined),
            label: 'Elevation',
          ),

BottomNavigationBar의 currentIndex, onTap, items는
NavigationBar의 selectedIndex, onDestinationSelected, destinations와 같다.

profile
SugarFree

0개의 댓글