美文网首页
Android 搞一搞上下拉刷新非对称瀑布流

Android 搞一搞上下拉刷新非对称瀑布流

作者: libilang | 来源:发表于2017-08-06 16:07 被阅读150次

          前言:

         这篇文章介绍一下,做的上下拉刷新的非对称瀑布流以及展示图片内容居中。可能大家对图片展示内容居中会突然想到imageview的属性scaleType="centerCrop"不就可以了吗,但是要想实现像淘宝那样的商品搜索展示非对称,图片长度不规则,但是网络图片的大小确实固定的情况下,怎么让图片的内容部分居中展示就是我接下来要介绍的.

        非对称view,我用了etsy实现的StaggeredGridView,这个view核心是继承AbsListView,这样不就是已经实现了嘛,对的,我们用StaggeredGridView来实现上下来刷新,套一下上下刷新的控件,我用了PullToRefreshview,继承PullToRefreshBase,泛型view就用StaggeredGridView。要实现图片高度不同,重写imageview,设置上高宽的比例,然后requestLayout让重写的imageview调用onMeasure重绘高度。在gradle中添加依赖 compile'com.etsy.android.grid:library:1.0.5'。

    继承PullToRefreshview让StaggeredGridView实现上下拉刷新

    需要注意的就是重写isReadyForPullStart和isReadyForPullEnd,滑动的时候判断是否是到头和底部了,代码中的判断逻辑比较简单就就不解释了。

    判断滚动到头部底部方法

    ok有了这个东西,我们就要开始在xml中引用

    xml引用

        现在需要准备写适配器adapter了,想要实现图片的高度不规则,那么后台给我们的数据里面需要有图片的高宽值或者,高宽比例,我们使用的是高宽比例重绘onMeasure imageview高度,当然这个可以随意设置。

    重写imageview高度可变

       丰富完适配器的内容,就可以看到效果了,adapter的东西就是很简单了,大家自行脑补吧,因为我项目的接口有验证,所以就不在demo里面放接口拉数据了,现在直接看下我在项目里面真正的显示操作效果吧。正好推广一下我正在做的app: 小红唇

    项目效果

        ok,项目比较忙,语言组织写的不好还请见谅,希望对大家有一点点的促进。感谢大家的阅读,喜欢的请点个赞。如有不理解的地方,给我发信息即可。

    相关文章

      网友评论

          本文标题:Android 搞一搞上下拉刷新非对称瀑布流

          本文链接:https://www.haomeiwen.com/subject/fuvelxtx.html