Untitled
unknown
plain_text
a year ago
2.2 kB
5
Indexable
import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Bottom Nav Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(), ); } } class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { int _selectedIndex = 0; void _onItemTapped(int index) { setState(() { _selectedIndex = index; }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Bottom Nav Demo'), ), body: Navigator( onGenerateRoute: (settings) { switch (settings.name) { case '/': return MaterialPageRoute( builder: (context) => HomePage(), ); case '/page1': return MaterialPageRoute( builder: (context) => Page1(), ); default: return MaterialPageRoute( builder: (context) => Container(), ); } }, ), bottomNavigationBar: BottomNavigationBar( items: const <BottomNavigationBarItem>[ BottomNavigationBarItem( icon: Icon(Icons.home), label: 'Home', ), BottomNavigationBarItem( icon: Icon(Icons.person), label: 'Profile', ), ], currentIndex: _selectedIndex, onTap: _onItemTapped, ), ); } } class HomePage extends StatelessWidget { @override Widget build(BuildContext context) { return Center( child: ElevatedButton( onPressed: () { Navigator.pushNamed(context, '/page1'); }, child: Text('Go to Page 1'), ), ); } } class Page1 extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Page 1'), ), body: Center( child: Text('Content of Page 1'), ), ); } }
Editor is loading...
Leave a Comment