程序入口

import 'package:flutter/material.dart';
import 'botton_navigation_widget.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'demo',
theme:ThemeData.light(),
home: BottomNavigationWidget()//導航Widget
);
}
}

導航widget

import 'package:flutter/material.dart';
import 'index.dart';
import 'campus_network.dart';
import 'curriculum.dart';
import 'personal_center.dart'; class BottomNavigationWidget extends StatefulWidget {
@override
_BottomNavigationWidgetState createState() => _BottomNavigationWidgetState();
} class _BottomNavigationWidgetState extends State<BottomNavigationWidget> {
final _BottomNavigationColor = Colors.blue;
//現在的索引
int _currentIndex = 0;
//widget集合
List<Widget> list = List();
//重寫初始化方法,將需要導航的widget添加到集合
@override
void initState() {
list
//..相當於list.
..add(IndexScreen())
..add(CurriculumScreen())
..add(CampusNetworkScreen())
..add(PersonalCenterScreen());
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: list[_currentIndex],
bottomNavigationBar: BottomNavigationBar(
//超過3個不顯示名字,需要設置
type: BottomNavigationBarType.fixed,
items: [
BottomNavigationBarItem(
icon: Icon(
Icons.crop_3_2,
color:_BottomNavigationColor,
),
title: Text(
'首頁'
),
),
BottomNavigationBarItem(
icon: Icon(
Icons.crop_3_2,
color:_BottomNavigationColor,
),
title: Text(
'課程'
),
),
BottomNavigationBarItem(
icon: Icon(
Icons.crop_3_2,
color:_BottomNavigationColor,
),
title: Text(
'分校網絡'
),
),
BottomNavigationBarItem(
icon: Icon(
Icons.crop_3_2,
color:_BottomNavigationColor,
),
title: Text(
'個人中心'
),
),
],
//高亮顯示
currentIndex: _currentIndex,
//點擊導航時更新現在的下標
onTap: (int index){
setState(() {
_currentIndex = index;
});
},
),
);
}
}

需要跳轉的widget

import 'package:flutter/material.dart';

class IndexScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('index'),
),
body: Center(
child: Text('index'),
),
);
}
}

最新文章

  1. salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建
  2. GDB 修改当前判断函数的返回值(即修改寄存器的值)的方法
  3. R----data.table包介绍学习
  4. Android 读取SIM卡参数
  5. 如何判断 Android 应用的 Apk 签名是否一致?
  6. Clojure学习02:语法
  7. error C2039: &#39;SetDefaultDllDirectories&#39;错误解决办法
  8. 张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号
  9. Linux的vi常用命令详解
  10. Css3盒子模型-css学习之旅(5)
  11. Android项目刮刮奖详解(二)
  12. register form code(2nd week blog)
  13. 刷机补丁包updater-script脚本
  14. :状态模式:GumballMachine
  15. PDO预处理语句
  16. Ajax学习(一)
  17. 1032 Sharing (25)(25 point(s))
  18. 【贪心】【后缀自动机】Gym - 101466E - Text Editor
  19. C#网络编程(二)应用篇
  20. 20135320赵瀚青LINUX第三章读书笔记

热门文章

  1. php in_array()函数 语法
  2. string 、char* 、 char []的转换
  3. Fiddler抓包工具-拦截,断点
  4. 在服务器上给tomcat指定jdk版本
  5. js+html实现玫瑰花绽放
  6. Python 装饰器之 functools.wraps
  7. 阿里云code下载代码和更新代码
  8. openlayers筛选图层
  9. vue2.X 与 vue1.X 的区别
  10. T2691 桶哥的问题——送桶