场景描述:

因为写很多页面,每个顶部都搞一个返回键、分享,中间标题这种东东,弄的比较繁琐,索性就把这个appbar给单独抽离出来,重新定义成一个widget这个内容。

效果图大致是这样子的:

源码:

直接上代码:

import 'package:flutter/material.dart';
import 'package:/common_utils/common_utils.dart';
import 'package:/resources/mycolor_resources.dart';
import 'package:/routers/application.dart';class HeadTitleBar extends StatefulWidget implements PreferredSizeWidget {final String text; //从外部指定内容final Color statusBarColor; //设置statusbar的颜色final double contentHeight = 80.0;final bool rightShow;final VoidCallback callback;HeadTitleBar({this.text,this.statusBarColor,this.rightShow,this.callback,}) : super();@overrideState<StatefulWidget> createState() {return new _HeadTitleBarState(this.callback);}@overrideSize get preferredSize => new Size.fromHeight(contentHeight);
}///这里没有直接用SafeArea,而是用Container包装了一层
///因为直接用SafeArea,会把顶部的statusBar区域留出空白
///外层Container会填充SafeArea,指定外层Container背景色也会覆盖原来SafeArea的颜色
class _HeadTitleBarState extends State<HeadTitleBar> {VoidCallback callback;_HeadTitleBarState(this.callback);@overrideWidget build(BuildContext context) {return new Container(color: Colors.white,height: widget.contentHeight,child: SafeArea(top: true,child: Container(child: Column(children: <Widget>[Expanded(flex: 1,child: Row(mainAxisAlignment: MainAxisAlignment.spaceBetween,children: <Widget>[InkWell(onTap: () {Application.router.pop(context);},child: Container(child: Icon(Icons.arrow_back_ios,color: Colors.black,),width: 40,),),Text("${widget.text}",style: TextStyle(color: MyColorRes.titleBarColor, fontSize: 16),),widget.rightShow? GestureDetector(child: Container(child: Image.asset(Util.getImgPath('ic_more'),width: 24,height: 20,),margin: EdgeInsets.only(right: 15),),onTap: this.callback,): Container(width: 24,),],),),Container(height: 0.5,color: MyColorRes.divideLine,),],)),),);}
}

ad time

超详细图文搭建个人免费博客

欢迎关注「蛇崽网盘教程资源」公众号 ,在微信后台回复「领取资源」,获取IT资源200G干货大全。

在微信后台回复「130个小程序」,即可免费领取享有导入就能跑的微信小程序

在微信后台回复「Flutter移动电商」,即可免费领取Flutter移动电商系列全套

flutter自定义appbar相关推荐

  1. flutter 自定义 AppBar

    为什么80%的码农都做不了架构师?>>>    自带AppBar 有限制 到app_bar.dart 中将  AppBar 和 _AppBarState 类复制到自定义的wAppBa ...

  2. Flutter——自定义AppBar

    状态栏处理:https://blog.csdn.net/JustBeauty/article/details/82110743

  3. Flutter 基于AppBar自定义导航栏基类

    Flutter 基于AppBar自定义导航栏基类 效果图 AppBar 详解 代码实现 效果图 AppBar 详解 AppBar({Key key,this.leading, //widget类型,即 ...

  4. Flutter 中的自定义 AppBar

    在 Flutter 中,您可以通过定义一个扩展内置AppBar类的新类来使用自定义 AppBar.下面是如何在 Flutter 中创建自定义 AppBar 的示例: import 'package:f ...

  5. 【Flutter】Flutter 自定义字体 ( 下载 TTF 字体 | pubspec.yaml 配置字体资源 | 同步资源 | 全局应用字体 | 局部应用字体 )

    文章目录 一.Flutter 自定义字体 1.ttf 字体文件 2.ttf 字体资源配置 3.获取字体 4.全局使用字体 5.局部使用字体 二.完整代码示例 三.相关资源 一.Flutter 自定义字 ...

  6. Flutter自定义背景色渐变 按钮 组件

    这是笔者写的第一个 Flutter 自定义组件,在这里和大家分享一下,可能稍微有点粗糙,就当学习使用. 首先我们先来看一下效果图: 代码: import 'package:flutter/materi ...

  7. Flutter 自定义路由动画案例

    前言: 各位同学大家好,最近国庆放假期间因为没有回老家过节(没买到车票啊)就写了一些flutter小案例就分享给大家 (Flutter 自定义路由动画案例),那么废话不多说我们正式开始 准备工作 需要 ...

  8. Flutter 自定义组件实战之Cupertino(iOS)风格的复选框

    继上一篇Flutter自定义组件的视频短课(视频地址: https://www.bilibili.com/video/BV1ap4y1U7UB/ )后,我们继续来聊自定义组件.视频中我为大家详解了Cu ...

  9. Flutter 自定义组件实战

    Flutter 自定义组件实战

最新文章

  1. GridFS读文件代码示例
  2. 认证鉴权与API权限控制在微服务架构中的设计与实现
  3. MySQL中的日志类型(二)-General query log
  4. “入圈”高端大获成功!小米10至尊版上市首月霸榜京东、天猫5000元以上档销量第一...
  5. java hiveconf_Java学习路线分享hive的运行方式
  6. VB取得TextBox、RichTextBox光标所在的行和列(支持汉字)
  7. 将object类型转换成时间,如果能转的话。
  8. 从properties配置文件中获取到的中文乱码
  9. Python进阶(十一)装饰器
  10. 背景减法——自组织算法
  11. 推荐一款非常好用的文本替换工具“Replace Pioneer”
  12. 我们为什么存在于三维空间而不是四维空间
  13. 测试经验 --- 那些躲在角落的缺陷
  14. vs 应用程序无法正常启动0xc000007b 可能与VS中DLL引用有关
  15. args.verbose 的意思
  16. 2021年全球壳聚糖收入大约93百万美元,预计2028年达到126.8百万美元
  17. openGL基础光照“ADS”( Phone光照模型)(一)
  18. 微信 Android 终端内存优化实践
  19. 杭电操作系统实验三--- 实现模拟shell(arm架构华为云)
  20. MusicLibrary:一个丰富的音乐播放封装库

热门文章

  1. inherits在java中是什么属性_inherits属性
  2. c语言中error c2065: c: 未声明的标识符,error C2065: “L”: 未声明的标识符 需要加什么头文件或者声明什么东西...
  3. 计算机图形学中向量点乘和叉乘的用途_向量的点乘和叉乘(转)
  4. 京东搜索产品时,pc端列表页只展示100页的数据
  5. 氨基聚苯乙烯包覆硅胶微球SG-PS-NH2/聚苯乙烯/硫化镉PS/CdS复合材料/聚苯乙烯支载井冈霉素微球制备
  6. linux安装ntpd服务端,Linux升级NTPD服务器-编译安装ntp-4.2.8p9与配置NTPD服务器
  7. onmousewheel跟onscroll的区别
  8. 在计算机中科学型板式,在计算机中,科学型板式可以进行N进制数之间的转换...
  9. AI面试之SVM推导
  10. 华为WATCH D还有哪些值得一提的功能