// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; import 'use_cases.dart'; class NavigationBarUseCase extends UseCase { @override String get name => 'NavigationBar'; @override String get route => '/navigation-bar'; @override Widget build(BuildContext context) => const MainWidget(); } class MainWidget extends StatefulWidget { const MainWidget({super.key}); @override State createState() => MainWidgetState(); } class MainWidgetState extends State { int currentPageIndex = 0; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Theme.of(context).colorScheme.inversePrimary, title: const Text('NavigationBar'), ), bottomNavigationBar: NavigationBar( onDestinationSelected: (int index) { setState(() { currentPageIndex = index; }); }, indicatorColor: Colors.amber[800], selectedIndex: currentPageIndex, destinations: const [ NavigationDestination( selectedIcon: Icon(Icons.home), icon: Icon(Icons.home_outlined), label: 'Home', ), NavigationDestination( icon: Icon(Icons.business), label: 'Business', ), NavigationDestination( selectedIcon: Icon(Icons.school), icon: Icon(Icons.school_outlined), label: 'School', ), ], ), body: [ Container( alignment: Alignment.center, child: const Text('Page 1'), ), Container( alignment: Alignment.center, child: const Text('Page 2'), ), Container( alignment: Alignment.center, child: const Text('Page 3'), ), ][currentPageIndex], ); } }