IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Flutter 凸起效果底部导航栏一 -> 正文阅读

[移动开发]Flutter 凸起效果底部导航栏一

? ? ? 大多app中都会带有底部导航栏,系统默认自带的导航条不够新颖。今天我们改造一下导航条,将中间的按钮起到凸起的效果,特别有的app,中间常用扫一扫功能。

? ? ? Flutter为我们提供了一个控件BottomNavigationBar,结合BottomAppBar实现不规则底部导航栏,我们主要用到这两个控件,先看一下这两个控件的介绍:

BottomNavigationBar简介

BottomNavigationBar({
    Key? key,
    required this.items, //必填项,长度必须至少为两个,每个项目的图标和标签不能为null
    this.onTap, //点击事件
    this.currentIndex = 0, //当前选中item下标
    this.elevation, //控制阴影z坐标高度,如果是null,默认为8.0
    this.type, //BottomNavigationBarType,默认 fixed,设置为 shifting 时,需要设置选中样式,和未选中样式,提供一个特殊动画
    Color? fixedColor, //选中 item 填充色
    this.backgroundColor, //整个BottomNavigationBar 背景色
    this.iconSize = 24.0, //图标大小
    Color? selectedItemColor, //选中title填充色,fixedColor,selectedItemColor只能2选1,优先用selectedItemColor
    this.unselectedItemColor, //未选中title填充色
    this.selectedIconTheme, //选中item图标主题
    this.unselectedIconTheme, //未选中item图标主题
    this.selectedFontSize = 14.0, //选中title字体大小
    this.unselectedFontSize = 12.0, //未选中title字体大小
    this.selectedLabelStyle, //选中title样式 TextStyle
    this.unselectedLabelStyle, //未选中title样式 TextStyle
    this.showSelectedLabels, //是否展示选中title,默认为true
    this.showUnselectedLabels, //是否展示未选中title,默认为true
    this.mouseCursor, //鼠标悬停
    this.enableFeedback,//是否有反馈,类似回调
    this.landscapeLayout,//展示样式,有3种,spread,centered,linear,默认为spread
  }) 

BottomAppBar介绍

const BottomAppBar({
    Key? key,
    this.color,//背景色
    this.elevation,//阴影效果
    this.shape,//设置底栏的形状,一般使用这个都是为了和floatingActionButton融合,所以使用的值都是CircularNotchedRectangle(),有缺口的圆形矩形
    this.clipBehavior = Clip.none,
    this.notchMargin = 4.0,//FloatingActionButton和BottomAppBar之间的距离。
    this.child,
  })

接下来我们看一下代码实现:

   Widget buildBottomTabScaffold() {
     return SizedBox(
         height: 200,
         child: Scaffold(
           //对应的页面
           body: pages[currentIndex],
           //appBar: AppBar(title: const Text('Bottom App Bar')),
           //悬浮按钮的位置
           floatingActionButtonLocation:
               FloatingActionButtonLocation.centerDocked,
           //悬浮按钮
           floatingActionButton: FloatingActionButton(
             child: const Icon(Icons.add),
             onPressed: () {
               print('点击');
             },
           ),
           //其他菜单栏
           bottomNavigationBar: BottomAppBar(
             shape: const CircularNotchedRectangle(),
             notchMargin: 6.0,
             color: Colors.white,
             child: Row(
               mainAxisSize: MainAxisSize.max,
               mainAxisAlignment: MainAxisAlignment.spaceAround,
               children: <Widget>[
                 buildBotomItem(currentIndex, 0, Icons.home, "首页"),
                 buildBotomItem(currentIndex, -1, null, ""),
                 buildBotomItem(currentIndex, 1, Icons.person, "我的"),
               ],
             ),
           ),
         ));
   }

效果图:

?

源代码下载:Flutter 手机端 带凸起效果的底部导航栏-前端元素由前端元素eleui.cn整理flutter 手机端底部导航栏并带有中间凸起效果导航栏。https://www.eleui.cn/detail/cedc5040a9884843.html

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:23:00  更:2022-09-04 01:25:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 4:37:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码