Flutter系列(五)底部导航详解

这篇具有很好参考价值的文章主要介绍了Flutter系列(五)底部导航详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Flutter系列(四)底部导航+顶部导航+图文列表完整代码,如下:

Flutter系列(四)底部导航+顶部导航+图文列表完整代码_摸金青年v的博客-CSDN博客

目录

一、前言

二、Scaffold组件

三、BottomNavigationBar组件

四、底部导航的具体实现步骤

步骤1. 构建底部导航组件,设置样式

步骤2. 设置底部导航图标和文字

步骤3. 导航页内容

步骤4. 使用底部导航

五、完整代码和工程结构


一、前言

        本文主要介绍底部导航 BottomNavigationBar 的实现,和Scaffold组件一些常用的属性

二、Scaffold组件

        在程序中查看组件属性可以点击组件Scaffold查看源码,常用属性的中文释义如下表:

属性 释义 类型
appBar 顶部导航 PreferredSizeWidget
body 底部导航的页面内容 Widget(组件)
bottomNavigationBar 底部导航 BottomNavigationBar
drawer 左侧抽屉菜单 Widget
backgroundColor 背景色 Color

         实现底部导航需要用到 bottomNavigationBar 和 body 两个属性

三、BottomNavigationBar组件

         BottomNavigationBar是flutter官方提供的组件,常用属性的中文释义如下表:

属性 释义 类型
items 图文列表项 List<BottomNavigationBarItem>
currentIndex 当前页索引 int
onTap 点击切换页面 ValueChanged<int>
fixedColor 图标选中时颜色 Color
type 图文样式类型 BottomNavigationBarType
iconSize 图标尺寸 double
selectedFontSize 选中时文字尺寸 double
unselectedFontSize 未选中时文字尺寸 double

         BottomNavigationBarItem 是flutter官方提供的组件,常用属性的中文释义如下表:

属性 释义 类型
icon 图标 Icon
label 文字 String

         Icon 是flutter官方提供的组件,提供了很多常用的图标,图标对应的名称有官方文档,而且支持检索,非常方便,链接如下:Flutter Icon 图标网

四、底部导航的具体实现步骤

步骤1. 构建底部导航组件,设置样式


  int _bottomNavigationIndex = 0;  //底部导航页的索引,从第一页开始(比如首页)

//底部导航-样式
  BottomNavigationBar _bottomNavigationBar(){
    return BottomNavigationBar(
      items: items(), //底部导航-图文列表
      currentIndex: _currentIndex, //底部导航页的当前索引
      onTap: (flag) {
        setState(() {
          _currentIndex = flag;  //点击响应,切换到选中图标
        });
      }, //onTap 点击切换页面
      fixedColor: Colors.blue,  //图标选中时的颜色:蓝色
      type: BottomNavigationBarType.fixed, //设置fixed,当图标数超过3个时不会改变样式
      iconSize: 20,  //图标大小
      selectedFontSize: 12.0, //选中时字体大小
      unselectedFontSize: 12.0,  //未选中时字体大小
    );
  }

步骤2. 设置底部导航图标和文字

       底部导航的图标和文字内容相对固定,不经常变更,避免代码嵌套太多,可以移出来封装到一个dart文件里,使代码简洁易读,这里封装到自定义的 bottomNavigationBar.dart 文件

//底部导航-图标和文字定义
List<BottomNavigationBarItem> items(){
  return [
    const BottomNavigationBarItem(
      icon: Icon(Icons.home),
      label: '首页',
    ),
    const BottomNavigationBarItem(
      icon: Icon(Icons.find_in_page),
      label: '发现',
    ),
    const BottomNavigationBarItem(
      icon: Icon(Icons.shop),
      label: '商城',
    ),
    const BottomNavigationBarItem(
      icon: Icon(Icons.local_activity),
      label: '我的',
    ),
  ];
}

步骤3. 导航页内容

         导航页的内容是app展示信息的核心,布局更为丰富,先封装成函数,具体布局后续再扩展

//底部导航页-切换页面
final pages = [
  IndexPage(), //首页
  FindPage(), //发现页
  ShopPage(), //商城页
  HomePage()  //个人主页
];

步骤4. 使用底部导航

@override
  Widget build(BuildContext context) {
    return Scaffold(
        body: pages[_bottomNavigationIndex], //页面切换
        bottomNavigationBar: _bottomNavigationBar()  //底部导航
    );
  }

五、完整代码和工程结构

Flutter系列(四)底部导航+顶部导航+图文列表完整代码_摸金青年v的博客-CSDN博客

END...文章来源地址https://www.toymoban.com/news/detail-408663.html

到了这里,关于Flutter系列(五)底部导航详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VSCode 底部蓝色导航栏介绍以及导航不见了解决

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用

    2024年02月11日
    浏览(59)
  • uniapp 设置底部导航栏

    uniapp 设置原生 tabBar 底部导航栏。 一、创建页面,一定要在 pages.json 文件中注册。  二、在 pages.json 文件中,设置 tabBar 配置项。 效果: 注 :在 list 中最少配置 2 个页面,最多 5 个页面,另外不能使用网络图片。 一、在任意页面中,调用 uni.setTabBadge 方法,设置指定页面的

    2024年02月01日
    浏览(34)
  • android中实现底部导航栏

            底部导航栏在app应用中是十分常见了,大部分的安卓应用中也都实现了底部导航栏的功能,这里我就以我以前做的一个简单小说阅读软件为例,为大家演示一下底部导航栏的使用,需要的朋友直接复制代码过去改写就行了。         这里包含了一些进行操作实际

    2024年02月19日
    浏览(44)
  • 安卓:BottomNavigationBar——底部导航栏控件

    目录 一、BottomNavigationBar介绍 二、BottomNavigationBar的常用方法及其常用类 (一)、常用方法 1. 添加菜单项 2. 移除菜单项 3. 设置选中监听器 4. 设置当前选中项  5. 设置徽章  6. 样式和颜色定制 7. 动画效果  8. 隐藏底部导航栏。  9、设置模式 10.初始化 bottomNavigation  (二)、

    2024年02月08日
    浏览(37)
  • Android底部导航栏之BottomNavigationView

    1,首先需要添加依赖: implementation \\\'com.google.android.material:material:1.1.0\\\' 2,布局文件中引入: 3,常用属性: app:itemTextColor 文字的颜色,可以通过 selector 来控制选中和未选中的颜色 app:itemIconTint 图标的颜色,可以通过 selector 来控制选中和未选中的颜色 app:itemIconSize 图标大小,

    2024年02月08日
    浏览(72)
  • Android BottomNavigation底部导航栏使用

    原文地址: Android BottomNavigation底部导航栏使用 - Stars-One的杂货小窝 本文侧重点记录一些特殊的样式设置,所以基本使用这里就简单概述一下,详细图文可以去找其他人的博文 1.创建对应的menu菜单文件 2.xml布局引用menu菜单 3.启动Activity预览效果 可以使用 setOnItemSelectedListener 方法监

    2024年02月12日
    浏览(51)
  • Android---DslTabLayout实现底部导航栏

    1. 在 Android 项目中引用 JitPack 库  AGP 8.+ 根目录的 settings.gradle  AGP 8.+ 根目录如果是  settings.gradle.kts 文件  AGP 8.- 根目录的 build.gradle 2. 添加依赖  在APP目录中的 build.gradle 3. 布局 activity_main.xml 4. 底部 tab_item.xml 布局 5. 每个底部 tab 对应的 fragment a. DiscoveryFragment b. fragment_dis

    2024年02月20日
    浏览(42)
  • 微信小程序自定义底部导航栏

    微信小程序自定义底部导航栏,原生实现,不包含其他任何第三方组件,比较干净,开箱即用 效果预览: 可自定义底部导航栏列表样式 可自定义每个菜单的默认、激活后的图标和文字样式 可自定义是否添加中间的大图标菜单,当然也可自定义大图标的默认与激活样式 可自

    2024年02月07日
    浏览(53)
  • 微信小程序01-底部导航栏设置

    1 在app.json找到 pages,增加pages配置地址栏路径,保存后会自动生成相应文件夹; 2,增加  tabBar  参数,“selectedColor” 参数是设置选中后文字的颜色;\\\"list\\\" 中放置导航数据。      list 中 相关参数: pagePath ---- 指向地址                                   text   ---- 

    2024年02月12日
    浏览(45)
  • 微信小程序自定义导航栏机型适配--底部Tabbar--view高度--底部按钮适配

    自定义微信小程序头部导航栏 自定义微信小程序头部导航栏,有几种方式 方式一 定义此方法后,头部的导航栏会去掉,导航栏下的元素会直接向上移动到原导航栏的位置,可以再app.json配置成全局沉浸式导航栏,以及在单页面配置沉浸式导航栏。 方式二 使用组件 这里使用

    2024年02月02日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包