|
@@ -1,6 +1,7 @@
|
|
|
import 'package:flutter/material.dart';
|
|
|
import 'package:flutter_tracker/pages/home_page.dart';
|
|
|
import 'package:flutter_tracker/pages/mine_page.dart';
|
|
|
+import 'package:flutter_tracker/pages/track_page.dart';
|
|
|
|
|
|
class IndexPage extends StatefulWidget {
|
|
|
const IndexPage({Key key}) : super(key: key);
|
|
@@ -11,41 +12,39 @@ class IndexPage extends StatefulWidget {
|
|
|
|
|
|
class _IndexPageState extends State<IndexPage> {
|
|
|
int navIndex = 0;
|
|
|
+ List<Widget> pages = [
|
|
|
+ const HomePage(),
|
|
|
+ const TrackPage(),
|
|
|
+ const MinePage(),
|
|
|
+ ];
|
|
|
+ Widget currentPage;
|
|
|
+
|
|
|
+ @override
|
|
|
+ void initState() {
|
|
|
+ super.initState();
|
|
|
+ currentPage = pages[navIndex];
|
|
|
+ }
|
|
|
|
|
|
@override
|
|
|
Widget build(BuildContext context) {
|
|
|
return Scaffold(
|
|
|
- backgroundColor: Color(0xF1F6F9ff),
|
|
|
- body: Column(
|
|
|
- children: [
|
|
|
- TopMenu(),
|
|
|
- Expanded(
|
|
|
- child: Row(children: [
|
|
|
- Expanded(
|
|
|
- child: LeftMenu(navIndex, (int index) {
|
|
|
- setState(() {
|
|
|
- navIndex = index;
|
|
|
- });
|
|
|
- }),
|
|
|
- flex: 1,
|
|
|
- ),
|
|
|
- Expanded(
|
|
|
- child: Builder(
|
|
|
- builder: (context) {
|
|
|
- switch (navIndex) {
|
|
|
- case 0:
|
|
|
- return HomePage();
|
|
|
- case 1:
|
|
|
- return MinePage();
|
|
|
- default:
|
|
|
- return HomePage();
|
|
|
- }
|
|
|
- },
|
|
|
- ),
|
|
|
- flex: 11,
|
|
|
- )
|
|
|
- ]))
|
|
|
- ],
|
|
|
- ));
|
|
|
+ backgroundColor: Color(0xF1F6F9ff),
|
|
|
+ body: currentPage,
|
|
|
+ bottomNavigationBar: BottomNavigationBar(
|
|
|
+ type: BottomNavigationBarType.fixed,
|
|
|
+ items: [
|
|
|
+ const BottomNavigationBarItem(icon: Icon(Icons.home), label: "首页"),
|
|
|
+ const BottomNavigationBarItem(
|
|
|
+ icon: Icon(Icons.art_track), label: "追踪"),
|
|
|
+ const BottomNavigationBarItem(icon: Icon(Icons.person), label: "我的"),
|
|
|
+ ],
|
|
|
+ onTap: (index) {
|
|
|
+ setState(() {
|
|
|
+ navIndex = index;
|
|
|
+ currentPage = pages[navIndex];
|
|
|
+ });
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ );
|
|
|
}
|
|
|
}
|