话不多说,上代码

import 'package:flutter/material.dart';
import 'package:flutter_zhihu/pages/tabs/homeTab.dart'; class TabsController extends StatefulWidget {
@override
_TabsControllerState createState() => _TabsControllerState();
} class _TabsControllerState extends State<TabsController> { int _currentIndex = 0;
final pages = [HomeTab(),HomeTab(),HomeTab(),HomeTab(),HomeTab()];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('标题'),
actions: [
IconButton(icon: Icon(Icons.search), onPressed: (){
print('惦记了搜索');
})
],
),
bottomNavigationBar: BottomNavigationBar(
items: bottomNavItems,//配置底部菜单
currentIndex: _currentIndex,//当前菜单在第几个
onTap: (index){
        //菜单切换事件
_changePage(index);
},
type: BottomNavigationBarType.fixed,//菜单切换效果
),
body: pages[_currentIndex],//菜单页面切换
);
}

 //定义底部菜单
final List<BottomNavigationBarItem> bottomNavItems = [
BottomNavigationBarItem(
backgroundColor: Colors.blue,
icon: Icon(Icons.home),
label: '首页',
),
BottomNavigationBarItem(
backgroundColor: Colors.green,
icon: Icon(Icons.message),
label: '视频',
),
BottomNavigationBarItem(
backgroundColor: Colors.amber,
icon: Icon(Icons.shopping_cart),
label: '会员',
),
BottomNavigationBarItem(
backgroundColor: Colors.red,
icon: Icon(Icons.person),
label: '消息',
),
BottomNavigationBarItem(
backgroundColor: Colors.red,
icon: Icon(Icons.person),
label: '我的',
),
]; /*切换页面*/
void _changePage(int index) {
/*如果点击的导航项不是当前项 切换 */
if (index != _currentIndex) {
setState(() {
_currentIndex = index;
});
}
}
}

flutter 底部导航栏 BottomNavigationBar的更多相关文章

  1. Flutter 底部导航栏bottomNavigationBar

    实现一个底部导航栏,包含3到4个功能标签,点击对应的导航标签可以切换到对应的页面内容,并且页面抬头显示的内容也会跟着改变. 实际上由于手机屏幕大小的限制,底部导航栏的功能标签一般在3到5个左右,如果太 ...

  2. Android------底部导航栏BottomNavigationBar

    Android 的底部导航栏 BottomNavigationBar 由Google官方Material design中增加的. Android底部导航栏的实现方式特别多,例如TabHost,TabL ...

  3. Flutter - BottomNavigationBar底部导航栏切换后,状态丢失

    如果你用过BottomNavigationBar.TabBar.还有Drawer,你就会发现,在切换页面之后,原来的页面状态就会丢失. 要是上一页有一个数据列表,很多数据,你滚动到了下头,切换页面后, ...

  4. Flutter——BottomNavigationBar组件(底部导航栏组件)

    BottomNavigationBar常用的属性: 属性名 说明 items List<BottomNavigationBarItem> 底部导航条按钮集合 iconSize icon c ...

  5. 【Flutter学习】基本组件之BottomNavigationBar底部导航栏

    一,概述 BottomNavigationBar即是底部导航栏控件,显示在页面底部的设计控件,用于在试图切换,底部导航栏包含多个标签.图标或者两者搭配的形式,简而言之提供了顶级视图之间的快速导航. 二 ...

  6. Flutter - 创建底部导航栏

    之前写过的一篇文章介绍了 Flutter - 创建横跨所有页面的侧滑菜单, 这次就一起来学习一下底部导航栏. 底部导航栏在ios平台上非常常见,app store就是这样的风格.还有就是大家最常用的微 ...

  7. Flutter移动电商实战 --(4)打通底部导航栏

    关于界面切换以及底栏的实现可参考之前写的一篇文章:Flutter实 ViewPager.bottomNavigationBar界面切换 1.新建4个基本dart文件 在pages目录下,我们新建下面四 ...

  8. Flutter移动电商实战 --(3)底部导航栏制作

    1.cupertino_IOS风格介绍 在Flutter里是有两种内置风格的: material风格: Material Design 是由 Google 推出的全新设计语言,这种设计语言是为手机.平 ...

  9. 底部导航栏使用BottomNavigationBar

    1.github地址 https://github.com/zhouxu88/BottomNavigationBar 2.基本使用 2,1添加依赖 implementation 'com.ashokv ...

  10. Flutter实战视频-移动电商-03.底部导航栏制作

    03.底部导航栏制作 material是谷歌退出的 还有另外的一种:cupertino是IOS的风格 我们底部的导航栏,静态的widget是不合适的,这垃圾我们用到动态的widget 这重新改成动态的 ...

随机推荐

  1. Java-集合概要

    集合概要 Java集合类存放于 java.util 包中,是一个用来存放对象的容器. 集合的两个主要接口是 Collection接口 和 Map 接口. 图片来源:菜鸟教程 集合的优点 区别 集合 数 ...

  2. Cygwin64静默安装办法

    下载地址: http://www.cygwin.com/setup-x86_64.exe 静默安装办法: .\setup-x86_64.exe --no-shortcuts --root D:\\Cy ...

  3. G1 垃圾回收详解

    引用: https://www.cnblogs.com/ciel717/p/16190562.html

  4. jQuery 中 remove删除了某个div 再添加回来

    用下面的例子吧删除之前先保存dom<div id="div1"><div id="div2"></div></div& ...

  5. SourceInsight4.0修改字体大小

    SourceInsight4.0修改字体大小 1.右键Options->Preferences.如图所示,然后找到Syntax Decorations选项,点击File Types 2.点击Fi ...

  6. h5打包exe,uniapp打包桌面应用exe,mac,electron方式

    1.配置镜像 因为下载慢,所以.(网速快的可以跳过这步) 右键我的电脑-属性-高级系统设置-高级-环境变量-新建 变量名: ELECTRON_MIRROR 变量值: https://cdn.npm.t ...

  7. pytest学习总结

    官方pytest文档:Full pytest documentation - pytest documentation 一.pytest以及辅助插件的安装 1.pytest安装 pip install ...

  8. JMeter创建上传文件脚本

    环境:Macbook10 ,apache-jmeter-4.0 1. 创建脚本:添加 -> Sampler -> HTTP请求 2.基本配置 3. 设置实现方式,这一步是关键的关键.... ...

  9. check power supply check cpu top

    lshw -c power power supply mwh https://www.eia.gov/energyexplained/electricity/electricity-in-the-us ...

  10. ubuntu20.04系统中扩展swap分区

    1.首先停止/swapfile #swapon /swapfile 2.删除以前的/swapfile #rm -rf swapfile 3.创建新的/swapfile(以2G为例) #dd if=/d ...