当前位置: 首页 > news >正文

如何创建折叠式Title

文章目录

  • 1 概念介绍
  • 2 使用方法
  • 3 示例代码

我们在上一章回中介绍了SliverGrid组件相关的内容,本章回中将介绍SliverAppBar组件.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1 概念介绍

我们在本章回中介绍的SliverAppBar和普通的AppBar类似,它们的不同之处在于SliverAppBar创建的内容可以折叠和展开,因此它主要和SliverList等组件配合
使用,这样就可以创建一个滑动时折叠或者展开的标题,这样可以丰富标题的内容。本章回中将详细介绍SliverAppBar的使用方法。

2 使用方法

和其它组件一样SliverAppBar提供了相关的属性来控制自己,下面是常用的属性,掌握这些属性就可以使用SliverAppBar了。

  • title属性:主要用来显示标题,和普通AppBar中的title一样;
  • backgroundColor属性:主要用来控制appBar的背景颜色;
  • collapsedHeight属性:主要用来控制AppBar关闭时的高度;
  • expandedHeight属性:主要用来控制AppBar展开时的高度;
  • flexibleSpace属性:主要用来存放AppBar展开时的内容;
    上面介绍的这些属性中我重点介绍一下flexibleSpace属性,该属性是Widget类型,因此我们需要使用组件给它赋值,常用FlexibleSpace类型的组件给它赋值,该
    组件属于容器类组件,它本身只负责装饰,而不显示具体的内容,具体的内容在background属性对应的组件中。我们将在后面的小节中通过代码来演示它的用法。

3 示例代码

SliverAppBar(title: const Text('Title of SliverAppBar'),backgroundColor: Colors.purpleAccent,///关闭和展开时的高度collapsedHeight: 60,expandedHeight: 300,///下滑屏幕时先显示appBar下面的内容,后显示appBar中的内容,默认值为false表示此情况///设置为true时,下滑屏幕时先显示appBar中的内容,后显示appBar下面的内容;floating: true,///向上拖动屏幕,下面的内容向上滚动,appBar逐渐缩小,最后是否显示appBar,默认是56高度的appBar///默认值为false,表示不显示pinned: true,///appBar空间扩展后显示的内容flexibleSpace: FlexibleSpaceBar(///这个title在appBar的最下方,可以不设定,缩小后它会和SliverAppBar的title重合title: const Text('title of FlexibleSpaceBar'),background: Container(decoration: const BoxDecoration(image:DecorationImage(opacity: 0.8,// colorFilter: ColorFilter.mode(Color.fromARGB(100, 200, 20,30),BlendMode.difference),image: AssetImage("images/ex.png"),fit: BoxFit.fill,),),///扩展空间中主要显示的内容child: const Center(child: Text('child of container')),),centerTitle: true,///拉伸和折叠时的样式,效果不是很明显collapseMode: CollapseMode.pin,stretchModes: const [StretchMode.zoomBackground,StretchMode.blurBackground,StretchMode.fadeTitle,],),
),

上面的示例代码中添加了详细的注释,这样方便大家理解代码。不过依据目前的知识我们还不能演示程序的运行结果,因为还需要其它组件配合才可以运行,大家不用担心,目前只需要熟练掌握如何创建SliverAppBar组件就可以了,我们在后面章回中会使用本章回创建的组件给大家演示程序运行效果。
看官们,与"SliverAppBar组件"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

http://www.lryc.cn/news/531136.html

相关文章:

  • go-zero学习笔记(三)
  • Wildcard工具详解:从入门到精通
  • 冰蝎v3.0 beta7来啦
  • React中使用箭头函数定义事件处理程序
  • 记忆化搜索和动态规划 --最长回文子串为例
  • Tree Compass( Codeforces Round 934 (Div. 2) )
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.17 掩码数组:缺失值处理的优雅方案
  • PHP 常用函数2025.02
  • react中如何获取dom元素
  • 【C++】继承(下)
  • C语言实现字符串排序:从代码到原理深度解析
  • Vue3的el-table-column下拉输入实时查询API数据选择的实现方法
  • 【数据结构】_链表经典算法OJ:复杂链表的复制
  • Vue 图片引用方式详解:静态资源与动态路径访问
  • chatGPT写的网页版贪吃蛇小游戏
  • Python量化交易助手:xtquant的安装与应用
  • 前缀和算法
  • Qt常用控件 输入类控件
  • 《最小阻力之路》关于愿景的理解和思考
  • Ubuntu 22.04系统安装部署Kubernetes v1.29.13集群
  • 虚幻基础17:动画层接口
  • 无人机PX4飞控 | PX4源码添加自定义uORB消息并保存到日志
  • HTMLCSS :下雪了
  • 如何处理 Typecho Joe 主题被抄袭或盗版的问题
  • 利用Vue和javascript分别编写一个“Hello World”的定时更新
  • volatile变量需要减少读取次数吗
  • bootstrap.yml文件未自动加载问题解决方案
  • 编程AI深度实战:AI编程工具哪个好? Copilot vs Cursor vs Cody vs Supermaven vs Aider
  • 前端知识速记--CSS篇:display
  • 51单片机 01 LED