废话就不多说了,贴图 (虽然是渣渣效果,但是自己写了一下还是有点感觉的,对手势这块有了更加深刻的了解)
主要实现的方式:
(stack + Transform 动画 (translate、scale) + GestureDetector )实现
备注: 这里为了不必要的重复造轮子 使用了 ditclearl 大佬 封装的 GestureDetector
大佬地址 : https://juejin.im/user/582d601d2e958a0069bbe687 膜拜膜拜下。
页面分为:
1.显示的内容页面
2.隐藏的页面
还未完善一些动画,只是做了简单的封装,需要的可以下载。
https://github.com/seeyou888999/flutter/tree/Branch001
实现方式:
1.通过监听 ListView 滚动置顶的时候 继续拖动 改变显示内容页面的偏移。
2.滚动触发缩小放大动画,超过阀值触发滚到底部。
3.如果没有超过阀值则置顶
4.上拉复位。
以下是部分代码截图:
1.构建隐藏页面
2.构建内容页面
3. 手势初始化
多的就不贴啦。。 时间问题,有些功能还未完善。