美文网首页flutter
Flutter 基础总结(7)bottomNavigationB

Flutter 基础总结(7)bottomNavigationB

作者: 总会颠沛流离 | 来源:发表于2020-03-17 15:34 被阅读0次

    如果有一天,你偶然看到了这些文字,我希望这几分钟是真正属于你自己的,在这里你给自己加油,打气,继续去完成你曾经的梦想,勇敢的去挑战自己,历练自己!

    1: 效果图

    image.png image.png

    2:代码

    1:main.dart
    import 'package:flutter/cupertino.dart';
    import 'package:flutter/material.dart';
    import 'package:flutter_app06/BottomNavigationWidget.dart';
    
    void main() {
    runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
    // TODO: implement build
    return MaterialApp(
      title: "Flutter bootomNavigationBar",
      theme: ThemeData.light(),
      home: BottomNavigationWidget(),
    );
      }
    }
    
    2:BottomNavigationWidget.dart
      import 'package:flutter/cupertino.dart';
      import 'package:flutter/material.dart';
      import 'package:flutter_app06/pages/EmailPages.dart';
      import 'package:flutter_app06/pages/HomePages.dart';
      import 'package:flutter_app06/pages/MePages.dart';
      import 'package:flutter_app06/pages/PagesPages.dart';
    
      class BottomNavigationWidget extends StatefulWidget {
      @override
      State<StatefulWidget> createState() {
    // TODO: implement createState
    return new BottomNavigationWidgetState();
      }
      }
    
      class BottomNavigationWidgetState extends     State<BottomNavigationWidget> {
    int _currentIndex = 0;
      final _BottomNavigataionColor = Colors.red;
      //定义一个集合用来存储页面
      List<Widget> list = new List();
    
    @override
    Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      //body 相当于一个Widget
      body: list[_currentIndex],
      bottomNavigationBar: BottomNavigationBar(
        //选择
        selectedItemColor: _BottomNavigataionColor,
        //未选中
        unselectedItemColor: Colors.yellow,
        items: [
          BottomNavigationBarItem(icon: Icon(Icons.home), title: Text("主页")),
          BottomNavigationBarItem(
              icon: Icon(Icons.email), title: new Text("邮箱")),
          BottomNavigationBarItem(
              icon: Icon(Icons.pages), title: new Text("页数")),
          BottomNavigationBarItem(
              icon: Icon(Icons.person), title: new Text("我的"))
        ],
        type: BottomNavigationBarType.fixed,
        onTap: (index) {
          setState(() {
            _currentIndex = index;
          });
        },
        currentIndex: _currentIndex,
      ),
    );
    

    }

    @override
    void initState() {
    list
      ..add(new HomePages())
      ..add(new EmailPages())
      ..add(new PagesPages())
      ..add(new MePages());
    super.initState();
    }
    }
    
    3:EmailPages.dart(其他页面格式一样)
    import 'package:flutter/cupertino.dart';
    import 'package:flutter/material.dart';
    
     class EmailPages extends StatelessWidget{
    @override
    Widget build(BuildContext context) {
    // TODO: implement build
    return new Scaffold(
      appBar: AppBar(
        title: new Text("邮箱"),
    
      ),
      body: Center(
        child: Text("邮箱"),
      ),
    );
    }
    
    
    }
    

    githup:https://github.com/xuezhihuixzh/Flutter_demo

    相关文章

      网友评论

        本文标题:Flutter 基础总结(7)bottomNavigationB

        本文链接:https://www.haomeiwen.com/subject/qsptyhtx.html