打造Android微信朋友圈下拉刷新控件

时间:2024-04-25 04:03:20
【文件属性】:

文件名称:打造Android微信朋友圈下拉刷新控件

文件大小:1.2MB

文件格式:ZIP

更新时间:2024-04-25 04:03:20

android源码

作者aliouswang,源码FriendRefreshView,微信朋友圈我们都经常用,朋友圈的下拉刷新比较有意思,我们今天将要模仿打造微信朋友圈的下拉刷新控件,当然微信的这种刷新设计可能不是最好的,实际项目中你可以用V4包里面的SwipeRefreshView或者Chris Banes的AndroidPullRerfresh,看产品经理的设计。 思路 我们初步分析下,界面上主要有二个控件,一个彩虹状的圆形LoadingView,一个是ListView,那么我大致可以有下面三个步骤: 第一步:需要自定义一个ViewGroup,把上面的2个控件add进来。 第二步:利用ViewDragHelper处理控件拖动。当ListView处于顶部时,如果继续向下拖动,就拦截触摸事件,将触摸事件传递给ViewDragHelper处理,这里比较关键,主要是是否拦截触摸事件的判断条件要处理好,否则如果ListView的点击和滚动事件被我们拦截了,那就悲剧了。 第三步:在ViewDragHelper的拖动回调方法里面,设置listView和彩虹LoadingView的位置,调用requestLayout。 第四步:手势松开后,开始刷新,LoadingView在固定位置做旋转动画。 第五步:如果设置了onRefreshListener,执行onRefresh接口。 第六步:调用stopRefresh,完成刷新,这一步需要控件使用者手动去调用,控件本身不自动触发。 文/ALIOUS(简书作者) 原文链接:http://www.jianshu.com/p/1ca0caf5fd8b 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。


【文件预览】:
FriendRefreshView-master
----.gitignore(81B)
----app()
--------.gitignore(7B)
--------build.gradle(603B)
--------src()
--------app-release.apk(1.01MB)
--------proguard-rules.pro(667B)
--------app.iml(7KB)
----settings.gradle(15B)
----build.gradle(436B)
----gradlew(5KB)
----gradlew.bat(2KB)
----gradle.properties(855B)
----.idea()
--------misc.xml(5KB)
--------encodings.xml(166B)
--------gradle.xml(562B)
--------vcs.xml(169B)
--------copyright()
--------scopes()
--------compiler.xml(711B)
--------.name(17B)
--------modules.xml(373B)
----gradle()
--------wrapper()
----FriendRefreshView.iml(828B)

网友评论