Flutter底部导航栏BottomNavigationBar
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相关推荐
- Flutter底部导航栏BottomNavigationBar页面状态保持解决方案
网易云[玩转大前端]配套课程 EDU配套 教程 Flutter开发的点滴积累系列文章 一行代代码置灰应用?对就是这么干 在实际应用开发中,一般应用的首页面会有这种结构,在Flutter应用开发中,有多 ...
- Flutter 底部导航栏(Tab 页)的快速实现
Flutter 底部导航栏(Tab 页)的快速实现 我们知道 Scaffold 实现了基本的 Material 布局.只要是在 Material 中定义了的单个界面显示的布局控件元素,都可以使用 Sc ...
- Android 底部导航栏 BottomNavigationBar
大部分app,都采用导航栏的方式,无论是顶部导航栏还是底部导航栏,这是一个app的根骨,本文是采用Google最近添加到Material design中的底部导航栏BottomNavigationBa ...
- Flutter学习日记之底部导航栏BottomNavigationBar组件的使用
本文地址:https://blog.csdn.net/qq_40785165/article/details/116953235,转载需附上此地址 大家好,我是小黑,一个还没秃头的程序员~~~ 空袋子 ...
- flutter底部导航栏
更多文章请查看 lutter从入门 到精通 实现底部导航栏并点击切换页面可简述为有三种方式 TabBar + TabBarView BottomNavigationBar + BottomNaviga ...
- Flutter底部导航栏的实现
效果 实现 先将自动生成的main.dart里面的代码删除,并创建app.dart文件作为app的入口文件 import 'package:flutter/material.dart'; import ...
- 【Flutter】底部导航栏页面框架 ( BottomNavigationBar 底部导航栏 | PageView 滑动页面 | 底部导航与滑动页面关联操作 )
文章目录 一.BottomNavigationBar 底部导航栏 二.PageView 滑动页面 三.BottomNavigationBar 与 PageView 关联 四.完整代码示例 1.核心导航 ...
- 【Flutter】StatefulWidget 组件 ( 底部导航栏组件 | BottomNavigationBar 组件 | BottomNavigationBarItem 组件 | 选项卡切换 )
文章目录 一.BottomNavigationBar 组件 二.BottomNavigationBarItem 组件 三.BottomNavigationBar 底部导航栏代码示例 四.BottomN ...
- android仿咸鱼底部导航栏,Flutter沉浸式状态栏/AppBar导航栏/仿咸鱼底部凸起导航栏效果...
如下图:状态栏是指android手机顶部显示手机状态信息的位置. android 自4.4开始新加入透明状态栏功能,状态栏可以自定义颜色背景,使titlebar能够和状态栏融为一体,增加沉浸感. 如上 ...
最新文章
- iSCSI软件套件 介绍
- 使用 Python 开发一个恐龙跑跑小游戏,玩起来
- python自学步骤-怎么自学python,大概要多久?
- Android:按键响应方式第一种onClick属性,第二种方法接口类,第三种方式匿名内部类,第四种方式Activity
- Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程
- android让文件按顺序列表,Java/Android 获取文件夹的文件列表(file.listFiles())并按名称排序,中文优先...
- 无服务器-仅仅是构建现代应用程序的一种方法?
- 删除单链表中倒是第K个结点
- 开源自研新基建,内核实践云数据,当此方为嘉年华 - 2020嘉年华大会侧记
- CentOS 7安装ifconfig
- 清华大学计算机信息学院舒教授,清华大学出计算机与信息分社.ppt
- 图片、照片相似度批量对比
- 脊柱神经系统分布在哪里,脊柱神经系统分布图片
- matlab计算六面体的体积,六面体单元体积坐标方法-工程力学-清华大学.PDF
- 删除或修改本地Git账号密码
- 使用thinkadmin内置WeChatDeveloper发送公众号模板消息
- linux打开xml文件,查看 XML 文件
- 随机事件和概率及概率的性质
- c++计算圆柱体表面积
- C++程序屏蔽windows2008系统安全界面(ctrl+alt+delete热键)