效果图

main.dart

import 'package:flutter/material.dart';
import 'pages/index_page.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: '百姓生活+',
home: IndexPage(),
theme: ThemeData.light(),
);
}
}

indexPage.dart

import 'package:flutter/material.dart';
import 'home_page.dart';
import 'category_page.dart';
import 'cart_page.dart';
import 'person_page.dart'; class IndexPage extends StatefulWidget {
@override
_IndexPageState createState() => _IndexPageState();
} class _IndexPageState extends State<IndexPage> { final List<BottomNavigationBarItem> bottomTabs = [
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text('首页')
),
BottomNavigationBarItem(
icon: Icon(Icons.category),
title: Text('分类')
),
BottomNavigationBarItem(
icon: Icon(Icons.shopping_cart),
title: Text('购物车')
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
title: Text('我的')
)
]; final List tabBodies = [
HomePage(),
CategoryPage(),
CartPage(),
PersonPage()
]; int currentIndex = 0; var currentPage; void initState(){
currentPage = tabBodies[currentIndex];
super.initState();
} @override
Widget build(BuildContext context) {
return Scaffold(
body: currentPage,
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
currentIndex: currentIndex,
items: bottomTabs,
onTap: (index){
setState(() {
currentIndex = index;
currentPage = tabBodies[index];
});
},
)
);
}
}

home_page.dart


import 'package:flutter/material.dart'; class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('HomePage')),
);
}
}

category_page.dart


import 'package:flutter/material.dart'; class CategoryPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('CategoryPage')),
);
}
}

cart_page.dart


import 'package:flutter/material.dart'; class CartPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('CartPage')),
);
}
}

person_page.dart


import 'package:flutter/material.dart'; class PersonPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('PersonPage')),
);
}
}

最新文章

  1. MVC CodeFirst简单的创建数据库(非常详细的步骤)
  2. PHP安全之Web攻击
  3. 两种JavaScript的AES加密方式(可与Java相互加解密)
  4. Android只能动态注册的广播Action
  5. 【BZOJ-3747】Kinoman 线段树
  6. 【jQuery】百分比自适应屏幕轮播图特效
  7. WCF绑定和行为在普通应用和SilverLight应用一些对比
  8. js中的正则表达式
  9. HTML CSS——margin和padding的学习
  10. location 、history
  11. 了解 hadoop
  12. Free Editor
  13. MySQL 分区表 partition线上修改分区字段,后续进一步学习partition (1)
  14. Gradient boosting
  15. JS 删除Array对象中的元素。
  16. golang 请求带验证信息的坑
  17. activemq生产者和消费者的双向通信
  18. [python] os.path模块常用方法汇总
  19. 升级IOS8游戏上传自定义头像功能失效的问题
  20. 10gocm-&amp;gt;session3-&amp;gt;数据备份与恢复

热门文章

  1. enum:python实现枚举也很优雅
  2. zabbix 启到不起来:active check configuration update from [127.0.0.1:10051] started to fail (cannot connect to [[127.0.0.1]:10051]: [111] Connection refused)
  3. 完美解决Mysql的Access denied for user &#39;root&#39;@&#39;%的&#39;问题
  4. Share:《THE ULTIMATE XSS PROTECTION CHEATSHEET FOR DEVELOPERS》
  5. mysql数据库表自增ID批量清零 AUTO_INCREMENT = 0
  6. DevExpress ASP.NET Core v19.1版本亮点:Pivot Grid控件等
  7. linux学习:【第3篇】之常见命令2
  8. Django 之 文件配置、pycharm及django连接数据库、创表及表的增删改查02
  9. qt5--自定义控件封装
  10. k8s-for批量拉取国内镜像并做tag标签