重识 Flutter — 探索 Slivers 的奇妙世界(综合实例)
前言
在前三篇文章中,从为什么要使用Sliver
,再根据使用频率逐个解析Slivers
系列的组件。相信您已经入门了Sliver
的世界。为了更好的将Slivers
相关的组件结合起来使用,本文将通过一个综合的案例来帮助你理解。
源代码:https://www.aliyundrive.com/s/mPCDFwRv4Rm
效果图
话不多说,先上效果图,有图有真相!
页面框架搭建
顶部
复制代码
底部装饰
复制代码
使用SliverToBoxAdapter
来使用基于Box
协议的组件
复制代码
通过SliverPersistentHeader
制作菜品展示区域
复制代码
反转叠加动画通过Stack
结合Transform
实现
复制代码
图片变换的布局
使用 Matrix4.identity()..rotateZ(...)
实现绕 Z 轴的旋转变换。
复制代码
图片不规则背景+修复动画
背景块通过CustomPainter
进行绘制
复制代码
修复动画通过Positioned
的left
做出视觉上的一个视差
复制代码
剩余部分
剩余部分都是通过SliverToBoxAdapter
来进行实现,具体布局的内容不是本文的重点,就不过多阐述了,详见源代码。
总结
至此,三篇组件分解文章+一篇综合实战文章,我们学习了Sliver
的使用和特性,相信您已经进入了Sliver
的世界。我所写的也只是它魅力的冰山一角
,Sliver
系列组件是用于创建灵活
的滚动界面和复杂
布局的关键,那么请继续探索 Sliver 的世界,利用其强大的特性和灵活的组合方式,创建出更加有趣和具有交互性的滚动界面吧~(后续还会有更多的使用教程、源码分解...)
关于我
Hello,我是 Taxze,如果您觉得文章对您有价值,希望您能给我的文章点个❤️,有问题需要联系我的话:我在这里 。如果您觉得文章还差了那么点东西,也请通过关注督促我写出更好的文章~万一哪天我进步了呢?😝
版权声明: 本文为 InfoQ 作者【编程的平行世界】的原创文章。
原文链接:【http://xie.infoq.cn/article/2354956d282ea8bd5440d1082】。文章转载请联系作者。
评论