BottomNavigationBar是底部的导航栏,一般应用在多个视图进行选择。类比于Android的底部导航栏,由Text文本和Icon图标组成。

这里创建一个List为显示内容提供容器:

static const List<Widget> _widget=<Widget>[Text('Index 0:首页'),Text("Index 1:通讯录"),Text("Index 2:我的")];

底部导航栏的组成部分:

bottomNavigationBar: BottomNavigationBar(items: const<BottomNavigationBarItem>[BottomNavigationBarItem(icon: Icon(Icons.home),title: Text('首页')),BottomNavigationBarItem(icon: Icon(Icons.contacts),title: Text('通讯录')),BottomNavigationBarItem(icon: Icon(Icons.build),title: Text('我的'))]

规定底部导航栏选项卡被选中时的颜色变化:

selectedItemColor: Colors.amber

当某个选项卡被选中时调用:

onTap: _onItemTapped

通过在_onItemTapped方法中将当前选中的选项卡的下标index赋值给_selectedIndex,达到切换选项卡的效果:

void _onItemTapped(int index){setState(() {_selectedIndex=index;});}

完整代码如下:

class MyStatefulWidget extends StatefulWidget{MyStatefulWidget({Key key}) : super(key: key);//为widget创建可变状态_MyStatefulWidgetState createState()=>_MyStatefulWidgetState();
}
class _MyStatefulWidgetState extends State<MyStatefulWidget>{int _selectedIndex=0;//默认加载0号位//显示内容static const List<Widget> _widget=<Widget>[Text('Index 0:首页'),Text("Index 1:通讯录"),Text("Index 2:我的")];@overrideWidget build(BuildContext context) {// TODO: implement buildreturn Scaffold(appBar: AppBar(title: Text('底部导航栏'),),//从List中根据当前选中的index取出元素显示body: Center(child: _widget.elementAt(_selectedIndex),),bottomNavigationBar: BottomNavigationBar(items: const<BottomNavigationBarItem>[BottomNavigationBarItem(icon: Icon(Icons.home),title: Text('首页')),BottomNavigationBarItem(icon: Icon(Icons.contacts),title: Text('通讯录')),BottomNavigationBarItem(icon: Icon(Icons.build),title: Text('我的'))],currentIndex: _selectedIndex,selectedItemColor: Colors.amber,//切换选项卡onTap: _onItemTapped,),);}/*** 负责把当前点击的index赋值给_selectedIndex,实现切换*/void _onItemTapped(int index){setState(() {//将当前选中的选项卡的下标赋值给_selectedIndex_selectedIndex=index;});}}

Flutter底部导航栏BottomNavigationBar相关推荐

  1. Flutter底部导航栏BottomNavigationBar页面状态保持解决方案

    网易云[玩转大前端]配套课程 EDU配套 教程 Flutter开发的点滴积累系列文章 一行代代码置灰应用?对就是这么干 在实际应用开发中,一般应用的首页面会有这种结构,在Flutter应用开发中,有多 ...

  2. Flutter 底部导航栏(Tab 页)的快速实现

    Flutter 底部导航栏(Tab 页)的快速实现 我们知道 Scaffold 实现了基本的 Material 布局.只要是在 Material 中定义了的单个界面显示的布局控件元素,都可以使用 Sc ...

  3. Android 底部导航栏 BottomNavigationBar

    大部分app,都采用导航栏的方式,无论是顶部导航栏还是底部导航栏,这是一个app的根骨,本文是采用Google最近添加到Material design中的底部导航栏BottomNavigationBa ...

  4. Flutter学习日记之底部导航栏BottomNavigationBar组件的使用

    本文地址:https://blog.csdn.net/qq_40785165/article/details/116953235,转载需附上此地址 大家好,我是小黑,一个还没秃头的程序员~~~ 空袋子 ...

  5. flutter底部导航栏

    更多文章请查看 lutter从入门 到精通 实现底部导航栏并点击切换页面可简述为有三种方式 TabBar + TabBarView BottomNavigationBar + BottomNaviga ...

  6. Flutter底部导航栏的实现

    效果 实现 先将自动生成的main.dart里面的代码删除,并创建app.dart文件作为app的入口文件 import 'package:flutter/material.dart'; import ...

  7. 【Flutter】底部导航栏页面框架 ( BottomNavigationBar 底部导航栏 | PageView 滑动页面 | 底部导航与滑动页面关联操作 )

    文章目录 一.BottomNavigationBar 底部导航栏 二.PageView 滑动页面 三.BottomNavigationBar 与 PageView 关联 四.完整代码示例 1.核心导航 ...

  8. 【Flutter】StatefulWidget 组件 ( 底部导航栏组件 | BottomNavigationBar 组件 | BottomNavigationBarItem 组件 | 选项卡切换 )

    文章目录 一.BottomNavigationBar 组件 二.BottomNavigationBarItem 组件 三.BottomNavigationBar 底部导航栏代码示例 四.BottomN ...

  9. android仿咸鱼底部导航栏,Flutter沉浸式状态栏/AppBar导航栏/仿咸鱼底部凸起导航栏效果...

    如下图:状态栏是指android手机顶部显示手机状态信息的位置. android 自4.4开始新加入透明状态栏功能,状态栏可以自定义颜色背景,使titlebar能够和状态栏融为一体,增加沉浸感. 如上 ...

最新文章

  1. iSCSI软件套件 介绍
  2. 使用 Python 开发一个恐龙跑跑小游戏,玩起来
  3. python自学步骤-怎么自学python,大概要多久?
  4. Android:按键响应方式第一种onClick属性,第二种方法接口类,第三种方式匿名内部类,第四种方式Activity
  5. Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程
  6. android让文件按顺序列表,Java/Android 获取文件夹的文件列表(file.listFiles())并按名称排序,中文优先...
  7. 无服务器-仅仅是构建现代应用程序的一种方法?
  8. 删除单链表中倒是第K个结点
  9. 开源自研新基建,内核实践云数据,当此方为嘉年华 - 2020嘉年华大会侧记
  10. CentOS 7安装ifconfig
  11. 清华大学计算机信息学院舒教授,清华大学出计算机与信息分社.ppt
  12. 图片、照片相似度批量对比
  13. 脊柱神经系统分布在哪里,脊柱神经系统分布图片
  14. matlab计算六面体的体积,六面体单元体积坐标方法-工程力学-清华大学.PDF
  15. 删除或修改本地Git账号密码
  16. 使用thinkadmin内置WeChatDeveloper发送公众号模板消息
  17. linux打开xml文件,查看 XML 文件
  18. 随机事件和概率及概率的性质
  19. c++计算圆柱体表面积
  20. C++程序屏蔽windows2008系统安全界面(ctrl+alt+delete热键)

热门文章

  1. ESX虚拟机文件列表详解
  2. java多线程-阻塞队列BlockingQueue
  3. 联科集团携手阿里云发布科研混合云平台 共建科研教育新生态
  4. TDD 与 CI 在 Python 中的实践
  5. 学习Kali Linux必须知道的几点
  6. jquery中的each各种神奇遍历用法
  7. JS基础-Array对象手册
  8. 理解Java中的弱引用(Weak Reference)
  9. SAP BI基本概念
  10. [Vim 使用]vim 自动括号补全配置