博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flutter -------- BottomNavigationBar 界面切换
阅读量:5986 次
发布时间:2019-06-20

本文共 1891 字,大约阅读时间需要 6 分钟。

hot3.png

Android 中有BottomNavigationBar+Fragment切换

而在Flutter也有的BottomNavigationBar

效果图

 

 

底部有两种情况

底部导航栏的类型更改其项目的显示方式。如果未指定,则 当少于四个项时,它会自动设置为BottomNavigationBarType.fixed, 否则为BottomNavigationBarType.shifting。

BottomNavigationBarType.fixed,当少于四个项目时的默认值。如果选中的项为非null,则使用fixedColor渲染,否则使用主题的ThemeData.primaryColor。导航栏的背景颜色是默认的材质背景颜色,ThemeData.canvasColor(基本上是不透明的白色)。

BottomNavigationBarType.shifting,当有四个或更多项时的默认值。所有项目都以白色呈现,导航栏的背景颜色与所选项目的BottomNavigationBarItem.backgroundColor相同 。在这种情况下,假设每个项目将具有不同的背景颜色,并且背景颜色将与白色形成鲜明对比。

 

超出4个默认情况:

 

代码:

class BottomNavigationBarLnt extends StatefulWidget {  BottomNavigationBarLnt({Key key}) : super(key: key);  @override  BottomNavigationBarTest createState() => BottomNavigationBarTest();}class BottomNavigationBarTest extends State
{ int _cuurentIndex = 0; final List
chiledList = [Home(),Tab2(),Tab3(),Home()]; final List
_listItem =
[ BottomNavigationBarItem( icon: Icon(Icons.home), title: Text("Home") ), BottomNavigationBarItem( icon: Icon(Icons.book), title: Text("book") ), BottomNavigationBarItem( icon: Icon(Icons.music_video), title: Text("music") ), BottomNavigationBarItem( icon: Icon(Icons.movie), title: Text("movie") ), ]; @override Widget build(BuildContext context) { // TODO: implement build return Scaffold( bottomNavigationBar: BottomNavigationBar( items: _listItem, fixedColor: Colors.blue, // type: BottomNavigationBarType.fixed, currentIndex: _cuurentIndex, onTap: _onItemTapped, ), body: chiledList[_cuurentIndex], ); } void _onItemTapped(int index) { setState(() { _cuurentIndex = index; }); }}

 超过4个item时添加类型  type: BottomNavigationBarType.fixed, 

把上面注释的代码打开就行

 

 

 

官方文档

转载于:https://my.oschina.net/zhangqie/blog/3046760

你可能感兴趣的文章
IT人生需要指引 (转)
查看>>
Android ContentObserver
查看>>
软件集成策略故事连载----集成这破活儿
查看>>
简单总结一下 ActiveMQ 的 VirtualTopic 机制
查看>>
疯狂java学习笔记1025---java集合类概述
查看>>
2010年单片机比赛的日子
查看>>
Hibernate初学之一对多、多对一关系模型
查看>>
catch 和 finally
查看>>
Apache+mod_jk+tomcat集群搭建
查看>>
moosefs安装与应用
查看>>
linux上用vmstat监控服务器状况
查看>>
PopupWindow整理
查看>>
我的友情链接
查看>>
URI和URL的区别——博客园_ I'M G.Shine
查看>>
cxf部署到weblogic上遇到的问题
查看>>
oracle 菜鸟学习之 decode中if-then-else逻辑
查看>>
ubuntu 12.10 Root filesystem check failed.
查看>>
thinkphp3.2插件
查看>>
openstack issue 2
查看>>
证书制作方法
查看>>