1. 写在前面

在上篇文章中介绍了Flutter中的Appbar组件,今天继续学习【Flutter】基础组件中的BottomNavigationBar组件。

  • 基础语法合集

【Flutter】Dart中的var、final 和 const基本使用

【Flutter】Dart数据类型之num

【Flutter】Dart数据类型之String

【Flutter】Dart的数据类型list&Map(数组和字典)

【Flutter】Dart的方法与箭头函数

【Flutter】Dart的方法中的可选参数、方法作为参数传递

【Flutter】Dart中的匿名函数、闭包

【Flutter】Dart中的类和对象

【Flutter】Dart中的构造函数

【Flutter】Dart的工厂构造方法&单例对象&初始化列表

【Flutter】Dart的类方法和对象操作符

【Flutter】Dart中的继承

【Flutter】Dart中的抽象类和接口

【Flutter】Dart中的Mixins混入你知道是什么吗?

  • [基础组件合集]

【Flutter】基础组件【01】Text

【Flutter】基础组件【02】Container

【Flutter】基础组件【03】Scaffold

【Flutter】基础组件【04】Row/Column

【Flutter】基础组件【05】Icon

【Flutter】基础组件【06】Image

【Flutter】基础组件【07】Appbar

2. BottomNavigationBar

2. 1 BottomNavigationBar简介

BottomNavigationBar是属于 Scaffold 中的一个位于底部的控件,这和我们 iOS 中的 tabbar 很像,可以切换不同的模块。BottomNavigationBar通常是和 BottomNavigationBarItem 配合一起使用的。

我们还是以微信的框架作为例子,现在让我们去一起实现一下吧!

void main() {runApp(const MyApp());
}class MyApp extends StatelessWidget {const MyApp({Key? key}) : super(key: key);// This widget is the root of your application.@overrideWidget build(BuildContext context) {return const MaterialApp(home:  MyHomePage(),);}
}class MyHomePage extends StatefulWidget {const MyHomePage({Key? key}) : super(key: key);@overrideState<MyHomePage> createState() => _MyHomePageState();
}class _MyHomePageState extends State<MyHomePage> {int  _currentIndex = 1;@overrideWidget build(BuildContext context) {// TODO: implement buildreturn Scaffold(appBar: AppBar(title: Text("微信"),),bottomNavigationBar: BottomNavigationBar(currentIndex: _currentIndex,//BottomNavigationBar 的点击事件onTap: (flag) {print("flag = $flag");setState(() {_currentIndex = flag;});},fixedColor: Colors.green,type: BottomNavigationBarType.fixed,items: [BottomNavigationBarItem(icon: Image.asset('images/tabbar_chat.png',height: 20,width: 20,),activeIcon: Image.asset('images/tabbar_chat_hl.png',height: 20,width: 20,),label: ('微信'),),const BottomNavigationBarItem(icon: Icon(Icons.bookmark), label: ('通讯录')),const BottomNavigationBarItem(icon: Icon(Icons.history), label: ('发现')),const BottomNavigationBarItem(icon: Icon(Icons.person_outline), label: ('我')),],));}}

我这里是工程里面导入了图片,如果你没有图片,可以使用系统的图标也是可以的,反正就是一个 demo随便弄个图标表达一下意思。不知道到怎么设置图片的看这里

【Flutter】基础组件【08】BottomNavigationBar相关推荐

  1. 一份超级详细的Flutter基础组件练习示例,请查收!

    学习B站技术胖的flutter基础课程整理的示例,为了平时方便查阅,同时希望能和大家一同进步~ Flutter基础组件 Hello world import 'package:flutter/mate ...

  2. Flutter 基础组件之 Text

    终于安装好了 Flutter 的环境,既然入了坑,就一点一点学吧,Flutter 可以说一切皆组件吧,所以要熟练掌握各个基础组件的 API,然后才能在面对复杂需求的时候才能得心应手的将各个组件组合起来 ...

  3. 【Flutter -- 基础组件】Flutter 导航栏

    文章目录 1. TabBar 1.1 代码 1.2 效果图 2. BottomNavigationBar 2.1 构建底部标签 2.2 创建导航栏 2.3 效果图 1. TabBar Flutter ...

  4. Flutter 基础组件之 Container

    官方简介中,说 Container 组件是一个方便绘制.定位和调整子组件大小的组件. 首先 Container 会在 child 子组件周围填充 padding(包括 decoration 中存在的 ...

  5. Flutter 基础目录结构介绍、入口自定义widget、等相关组件使用

    提示:此文章为前端学习flutter过程,如有歧义期望各位大大的宝贵意见 学习Dart 基础知识 移步这里 安装flutter环境相关 移步这里 flutter基础组件使用相关 移步这里 文章目录 一 ...

  6. Flutter基础布局组件及实现

    https://www.cnblogs.com/lxlx1798/p/11084904.html 一,概述 Flutter中拥有30多种预定义的布局widget,常用的有Container.Paddi ...

  7. Flutter(四)——基础组件

    本文目录 前言 基础组件 Text 常用属性使用 Icon Image Button FlutterLogo 前言 你如果做过Android开发,那一定熟悉里面各种官方提供的布局,比如LinearLa ...

  8. flutter 基础知识点总结

    前提:从事开发已经十年了,PC开发/Android开发/后端开发,初级/中级/高级/架构师,成员/组长/开发负责人,以及各种考证和阶段目标计划-,一路走来喜怒哀乐/酸甜苦辣都体验了. 人无远虑必有近忧 ...

  9. 一个优秀的可定制化Flutter相册组件,看这一篇就够了

    背景 在做图片.视频相关功能的时候,相册是一个绕不开的话题,因为大家基本都有从相册获取图片或者视频的需求.最直接的方式是调用系统相册接口,基本功能是满足的,一些高级功能就不行了,例如自定义UI.多选图 ...

  10. flutter 一直loading_开源 | FLUI : Flutter 的组件扩展集

    在使用 Flutter 的过程中,总是不断的在与组件打交道,虽然 Flutter 官方已经有极为丰富的 Material Design 以及 iOS 风格的组件集合,但我们也需要不断的抽象,组合出一些 ...

最新文章

  1. HTML中单选框的设置,和提交按钮之间的组合
  2. USEARCH11新功能——OTU表抽平otutab_rare
  3. 邪恶的三位一体:机器学习、黑暗网络和网络犯罪
  4. 微软算法面试题(2)
  5. Unity性能优化-遮挡剔除
  6. PHP面向对象(OOP)编程入门教程
  7. LeetCode --- Valid Parentheses
  8. 光遇安卓服务器维修,《光遇》渠道服更换手机解决办法
  9. sublime编辑器无法正常打印中文问题解决
  10. amoeba实现mysql主从读写分离_利用Amoeba实现MySQL主从复制和读写分离
  11. SOAP(Simple Object Access Protocol )简单对象访问协议
  12. 可视化程序设计基础(team)——采访上届大佬
  13. 解三对角矩阵以及循环三对角矩阵方程的数值计算方法
  14. 电子元件-电感、磁珠
  15. centOS brctl 创建透明网桥
  16. JavaScript 进阶知识 - 特效篇(一)
  17. 颜色空间(RGB、YUV、YIQ、CMY)
  18. PC浏览器无法浏览网页的解决教程
  19. 进销存ERP系统、销售单、采购单、退货单、库存管理、库存盘点、调拨、借入、借出、出库、入库、归还单、收款单、付款单、资金流水、销售报表、采购报表、库存报表、财务报表、商品库、电商erp、连锁erp
  20. 图像翻译/Transformer:ITTR: Unpaired Image-to-Image Translation with Transformers用Transfor进行非配对图像对图像的转换

热门文章

  1. js并列排名之div图片加载
  2. 关于多数据源(除自己数据库外,另一部分数据需通过接口调取第三方获取)的查询问题...
  3. STM32(5)——通用定时器基本定时器
  4. BotVS开发基础—2.2 下限价单 交易
  5. 【先定一个小目标】Asp.net Core 在IIS上的托管运行
  6. 《HTTP权威指南》– 6.代理
  7. Croc Champ 2013 - Round 1 E. Copying Data(线段树)
  8. asp.net onclick与onclientclick的区别
  9. PHP获取一篇文章内容中的全部图片,并下载
  10. 【luogu P3979 遥远的国度】 题解