index_page.dart 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. class IndexPage extends StatefulWidget {
  5. const IndexPage({Key key}) : super(key: key);
  6. @override
  7. _IndexPageState createState() => _IndexPageState();
  8. }
  9. class _IndexPageState extends State<IndexPage> {
  10. int navIndex = 0;
  11. @override
  12. Widget build(BuildContext context) {
  13. return Scaffold(
  14. backgroundColor: Color(0xF1F6F9ff),
  15. body: Column(
  16. children: [
  17. TopMenu(),
  18. Expanded(
  19. child: Row(children: [
  20. Expanded(
  21. child: LeftMenu(navIndex, (int index) {
  22. setState(() {
  23. navIndex = index;
  24. });
  25. }),
  26. flex: 1,
  27. ),
  28. Expanded(
  29. child: Builder(
  30. builder: (context) {
  31. switch (navIndex) {
  32. case 0:
  33. return HomePage();
  34. case 1:
  35. return MinePage();
  36. default:
  37. return HomePage();
  38. }
  39. },
  40. ),
  41. flex: 11,
  42. )
  43. ]))
  44. ],
  45. ));
  46. }
  47. }