瀑布式刷新

今天来说说页面的瀑布式刷新方法。实现的是一个照片墙效果,然后随着右边滚动条的拉动,图片不断刷新出来,永远也拉不到底。

要实现这种效果,我们可以分为两个步骤,先实现照片墙,自动布局效果,然后再实现下拉刷新效果。

  1.  照片墙
    

新建一个页面,我们先添加一些图片内容。

参考上图依次添加,我这里添加了15个。

由于现在我们没有加任何效果,所以图片是依次往下显示的,而且每张图片的大小也不一样。


所以,我们先给图片添加一些样式。

很简单的一段代码,先给容器设置相对布局,然后给图片固定长度,同时添加一点阴影效果,稍微美化一下。


这样做出来的效果是不会自动布局的,而且也不具备响应式效果。(即页面大小改变时,布局也跟着改变)

所以,我们需要通过JS来实现。(我们先来理一下思路)

之所以页面不具备响应式是因为,当页面宽度改变的时候,我们的容器也跟着页面改变,而图片的大小是固定的,所以我们的页面布局也会发生改变。

因此,我们只需要动态的设置容器的宽度。


接下去,我们要找到第一行中,高度最低的那张图片,然后把后面的图片放到那里去。


现在已经完成了图片的自动布局和响应式功能,我们来看看效果。


图片已经实现了自动布局。

  1. 瀑布式下拉效果

我们也先来理一下思路。想要实现下拉刷新,得在滚轮快要拉到底部的时候,给他动态加载新的图片。

那么,怎么判断页面快要到底部了呢?

我们先来获得几个高度。


我们在页面上测试一下。在我轻轻的拉动的时候,三个参数的高度情况。(last_contentheight:scrolltop:pageheight);


所以,我们可以做出如下判断。


当条件达到的时候,我们需要动态的加载图片。


图片的数据这里是模拟的json数据。

我们看一下完整代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,823评论 25 709
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 47,032评论 22 665
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,278评论 4 61
  • 昨晚早睡,今早凌晨两点多醒来,精神倍好,翻了一会睡不着,加之肚子有点饿,索性起来蒸南瓜吃了,后来还煮了一点菠菜,共...
    悦心教育杨小媚阅读 6,117评论 0 1
  • 内容针对ARC版本而言 如有遗漏和错误 还望指正 属性的使用场景 一般而言delegate、UI控件用weakbl...
    石丘阅读 3,826评论 1 5