Flutter CustomScrollView实现的一个经典滑动折叠头部图片的效果
题记
—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精。
Flutter是谷歌推出的最新的移动开发框架。
Flutter NestedScrollView 滑动组件是用来处理复杂情况下的滑动应用场景,如向上滑动视图时,要折叠隐藏一部分内容,这时候就需要使用到 NestedScrollView 与 SliverAppBar 的结合使用。
CustomScrollView 用来处理更为复杂的布局结合 SliverAppBar,SliverList和SliverGrid SliverPadding SliverToBoxAdapter SliverPersistentHeader, SliverFillRemaining,SliverFillViewport等来使用
在本节中是使用 CustomScrollView 结合 SliverAppBar 与
SliverList实现的一个向上滑动折叠头部图片的经典布局效果
【x1】微信公众号的每日提醒 随时随记 每日积累 随心而过
【x2】各种系列的视频教程 免费开源 关注 你不会迷路
【x3】系列文章 百万 Demo 随时 复制粘贴 使用
【x4】本文章对应的讲解视频在这里
本 Demo 实现的最终效果如下:
一般页面的主体使用 Scaffold ,所以在这里也是使用了 Scaffold 来架构页面,如下代码清单1-1所示:
///代码清单 1-1
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';class CustomScrollDemoPage extends StatefulWidget {@overrideState<StatefulWidget> createState() {return _ScrollHomePageState();}
}class _ScrollHomePageState extends State{///图片地址String imageUrl ="http://file02.16sucai.com/d/file/2015/0408/779334da99e40adb587d0ba715eca102.jpg";@overrideWidget build(BuildContext context) {///页面主体脚手架return Scaffold(/// 处理滑动body: CustomScrollView(slivers: <Widget>[///顶部的标题图片部分buildSliverAppBar(),///底部的列表部分buildSliverList()],));}
}... ...
}
在这里使用了CustomScrollView结合了SliverAppBar 与 SliverList 实现的整体效果,其中 buildSliverAppBar 方法是用来构建 SliverAppBar的,如下代码清单 1-2所示:
///代码清单1-2
SliverAppBar buildSliverAppBar() {return SliverAppBar(backgroundColor: Colors.pink,pinned: true,snap: false,floating: true,leading: Icon(Icons.home),actions: <Widget>[Icon(Icons.menu)],title: Text("这里是标题"),expandedHeight: 180,flexibleSpace: FlexibleSpaceBar(background: Row(children: <Widget>[Expanded(child: Image.network(imageUrl,fit: BoxFit.cover,),)],),),);
}
buildSliverList方法是用来构建 列表组件 SliverList,如下代码清单 1-3 所示:
///代码清单1-3
SliverList buildSliverList() {return SliverList(///懒加载代理delegate: SliverChildBuilderDelegate((BuildContext context, num index) {///子Item的布局 return Container(height: 44,margin: EdgeInsets.only(bottom: 10),child: Text("item- $index"),);}, childCount: 100),//子Item的个数);
}
完毕
当然 以小编的性格,是必须有源码的:本文章的全部代码在这里
Flutter CustomScrollView实现的一个经典滑动折叠头部图片的效果相关推荐
- Flutter NestedScrollView实现的一个经典滑动折叠头部图片的效果
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Flutter是谷歌推出的最新的移动开发框架. Flutter NestedScrollView 滑动组件是用来处理复杂情况下的滑动应 ...
- 一个挺酷的flash图片展示效果
为了做一个视频列表,在网上找了一个挺酷的flash图片展示效果,源代码的组件名称为DisplayShelf,有另外一个相同效果的组件叫CoverFlow. 原来的例子并没有实现单击当前图片的事件,为了 ...
- Flutter NestedScrollView 滑动折叠头部下拉刷新效果
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,优美的应用体验 来自于细节的处理,更源自于码农的自我要求与努力 Flutter是谷歌推出的最新的移动开发框架. [x1]微信公众号的每日 ...
- listview刷新_Flutter NestedScrollView 滑动折叠头部下拉刷新效果
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Flutter是谷歌推出的最新的移动开发框架. 本实例运行效果如下 : //启动函数void main() { runApp(Root ...
- html中轮播把导航栏挡住了,【分享】使用原生JS实现的一个经典轮播图导航栏效果...
[JavaScript] 纯文本查看 复制代码 Title 陈翔六点半铁头无敌铁头传人战江湖 狄仁杰之四大天王韩庚郑恺战前任 前任3再见前任靓汤高空徒手扒飞机 碟中谍神秘国度佛魔大战一触即发 降魔武僧 ...
- Flutter CustomScrollView 的巧妙使用
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Flutter是谷歌推出的最新的移动开发框架. Flutter中常用的滑动布局 ScrollView 有 SingleChildScr ...
- Flutter CustomScrollView使用介绍
Flutter CustomScrollView支持自定义内部item的滚动控件,还支持头部带滑动缩放的SliverAppBar.需要注意如果CustomScrollView的item嵌套了和他滚动方 ...
- Android魔术(第五弹)—— 一步步实现滑动折叠列表
目录 1.效果展示 2.效果分析 3.Item布局 3.实现Adapter 4.监听滑动 5.回弹效果 6.总结一下 源码: 1.效果展示 这个效果是一年多前完成的,是模仿了当时喵街app的首页的效果 ...
- php的图像处理有哪些实际作用,PHP_一个经典实用的PHP图像处理类分享,本图像处理类可以完成对图片 - phpStudy...
一个经典实用的PHP图像处理类分享 本图像处理类可以完成对图片的缩放.加水印和裁剪的功能,支持多种图片类型的处理,缩放时进行优化等. /** file: image.class.php 类名为Imag ...
最新文章
- hbase_异常_03_java.io.EOFException: Premature EOF: no length prefix available
- [ZJOI 2010]count 数字计数
- 信号、系统与滤波器设计(matlab)
- 聚焦国际农民丰收节贸易会-张桃林:农业谋定开放新格局
- 二维数组做函数参数传递
- K8S使用filebeat统一收集应用日志
- 近年来,学习图像去雾不得不看的论文和源代码
- 虚拟DOM和DIFF算法的理解
- win10系统托盘图标不见了_win10托盘图标不显示怎么回事_win10任务栏托盘图标显示不完全如何修复...
- 互联网专用计算机屏保,5款屏保,让你的电脑在闲置时也与众不同。
- C盘清理工具帮你迅速找到大文件
- 华为通用软件工程师面经
- mysql 分页查询数据重复出现
- Sql查询时间段内容
- 电容触摸技术实用教程
- 基于Halcon学习的车牌识别【一】
- ANSI转义序列详解
- 当你试图将【圣杯布局】无限套娃__
- 使用swing换一个国际象棋棋盘的实例
- 所见所得的OFFICE功能区编辑器(自定义界面编辑)RibbonCreator
热门文章
- CVPR2020 Oral | 旷视研究院提出双边分支网络BBN:攻坚长尾分布的现实世界任务
- 文末送书|增强现实:原理与实践
- 谷歌官方推出 TensorFlow 中文视频:机器学习从零到一
- 【机器学习】机器学习从零到掌握之九 -- 教你使用K近邻算法形成完整系统
- 新突破!Swin-UNet:基于纯 Transformer 结构的医学图像分割网络
- 携Science封面、NIPS最佳论文,CMU大神博士毕业论文公开
- Python解决使用列表副本问题
- 第5章 数据的共享与保护
- 梯度下降法快速教程 | 第二章:冲量(momentum)的原理与Python实现
- 浪潮服务器2016销售额,Gartner:2016年前三季度浪潮服务器销售额中国第一