Flutter SliverAppBar 全解析,你要的效果都在这了!
转载请声明出处!!!
先来简单看下部分效果图:
本文内容可能有点多,但是都很简单,配上效果图味道更佳~
<br>
什么是 SliverAppBar
SliverAppBar 类似于 Android 中的CollapsingToolbarLayout
,可以轻松实现页面头部展开、合并的效果。与 AppBar 大部分的属性重合,相当于 AppBar 的加强版。
<br>
先从最基本的效果开始,一步一步做到全效果。
<br>
常用属性
<br>
基本效果
这是最最最基本的效果了,但是也简陋的不行,下面开始一步一步改造。
<br>
添加 leading
<br>
添加 actions
<br>
滑动标题上移效果
去掉 title,添加 flexibleSpace
<br>
背景图片沉浸式
项目根目录下新建 images 文件夹,存放图片,随便选一张即可。要加载本地图片,还需要在pubspec.yaml
文件中配置一下
修改 flexibleSpace
<br>
各种滑动效果演示
floating: false, pinned: true, snap: false:
floating: true, pinned: true, snap: true:
floating: false, pinned: false, snap: false:
floating: true, pinned: false, snap: false:
总结:仔细观察,区别主要在于:
标题栏是否跟着一起滑动
上滑的时候,SliverAppBar 是直接滑上去还是先合并然后再滑上去。
下拉的时候,SliverAppBar 是直接拉下来还是先拉下来再展开。
<br>
添加 TabBar
在 SliverAppBar 的 bottom 属性中添加 TabBar,直接改造源码中的例子
关于 TabBar 的使用可以看这篇:https://blog.csdn.net/yechaoa/article/details/90482127
<br>
ok,以上的效果基本满足日常开发需求了,也可以自己改改属性测试效果。
<br>
demo github : https://github.com/yechaoa/flutter_sliverappbar
<br>
版权声明: 本文为 InfoQ 作者【yechaoa】的原创文章。
原文链接:【http://xie.infoq.cn/article/40f47215ee5005fbb870a4d10】。文章转载请联系作者。
评论