index_page.dart 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_tracker/pages/home_page.dart';
  3. import 'package:flutter_tracker/pages/mine_page.dart';
  4. import 'package:flutter_tracker/pages/track_page.dart';
  5. class IndexPage extends StatefulWidget {
  6. const IndexPage({Key key}) : super(key: key);
  7. @override
  8. _IndexPageState createState() => _IndexPageState();
  9. }
  10. class _IndexPageState extends State<IndexPage> {
  11. int navIndex = 0;
  12. List<Widget> pages = [
  13. const HomePage(),
  14. const TrackPage(),
  15. const MinePage(),
  16. ];
  17. Widget currentPage;
  18. @override
  19. void initState() {
  20. super.initState();
  21. currentPage = pages[navIndex];
  22. }
  23. @override
  24. Widget build(BuildContext context) {
  25. return Scaffold(
  26. backgroundColor: Color(0xF1F6F9ff),
  27. body: currentPage,
  28. bottomNavigationBar: BottomNavigationBar(
  29. type: BottomNavigationBarType.fixed,
  30. items: [
  31. const BottomNavigationBarItem(icon: Icon(Icons.home), label: "首页"),
  32. const BottomNavigationBarItem(
  33. icon: Icon(Icons.art_track), label: "追踪"),
  34. const BottomNavigationBarItem(icon: Icon(Icons.person), label: "我的"),
  35. ],
  36. onTap: (index) {
  37. setState(() {
  38. navIndex = index;
  39. currentPage = pages[navIndex];
  40. });
  41. },
  42. ),
  43. );
  44. }
  45. }