flutter3实现应用导航页面的切换

import 'package:flutter/material.dart';

void main() {
  runApp(const GoWaterMyApp());
}

class GoWaterMyApp extends StatelessWidget {
  const GoWaterMyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'GoWater',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(
            seedColor: Colors.lightBlue),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: '桶装水自动配送系统'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  late int _selectedIndex = 0;

  // 创建一组彩色的容器
  static List<Widget> pages = <Widget>[
    Container(color: Colors.grey),
    Container(color: Colors.green),
    Container(color: Colors.blue)
  ];
  //彩色容器结束

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: SafeArea(
        //child: Container(),//原始安全容器主要内容
        child: pages[_selectedIndex],
      ),
//导航开始
      bottomNavigationBar: BottomNavigationBar(
        selectedItemColor: Colors.lightBlue,
        currentIndex: _selectedIndex,
        onTap: (index) =>
            setState(() {
              _selectedIndex = index;
            }),
        items: const [
          BottomNavigationBarItem(
            icon: Icon(Icons.list),
            label: '历史',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.widgets),
            label: '订水',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.settings),
            label: '自己',
          ),
        ],
      ),
//导航结束
    );
  }
}

  

posted @ 2024-06-27 11:30  飞雪飘鸿  阅读(12)  评论(0编辑  收藏  举报
https://damo.alibaba.com/ https://tianchi.aliyun.com/course?spm=5176.21206777.J_3941670930.5.87dc17c9BZNvLL