文档章节

PullToRefresh几种实现方式

GalaxyBruce
 GalaxyBruce
发布于 2016/06/19 18:02
字数 325
阅读 128
收藏 1

方案一:继承想下拉刷新的View类(ListView|RecyclerView|ScrollView等),重写dispatchTouchEvent或者onTouchEvent方法,改变顶部刷新RefreshView的LayoutParams.height。需要借助Scroller类在手势释放的时候自动滚动。

案例:ListViewForPath|FriendsCircleLisView|XRecyclerView|XListView 还有一种不是该变height而是改变paddingTop,案例老的网易新闻下拉刷新 还有johannilsson/android-pulltorefresh

方案二:外层用LinearLayout包起来,最上面添加刷新View。设置LinearLayout的paddingTop=-RefreshView.measureHeight,在onTouchEvent中调用LinearLayout.scrollTo或者scrollBy方法滚动LinearLayout中的内容。需要借助Scroller类在手势释放的时候自动滚动。

案例:Android-PullToRefresh

方案三:外层用FrameLayout包起来,RefreshView放最底层,想下拉刷新的View放在最上层。在FrameLayout中运用ViewDragHelper工具类拖动改变RefreshView的位置。

案例:天猫下拉刷新

方案四:系统提供的下拉刷新方案http://pan.baidu.com/s/1eSNSnmE

总结: 1、下拉刷新就是通过改变refreshView的位置或者大小或者padding来显示不同的状态

2、平滑滚动是通过Scroller或者利用动画插值循环调用不停改变值实现(Android-PullToRefresh)

3、各种基础布局值提供布局样式,本省并没有什么事件处理,所以不用担心事件的影响。

© 著作权归作者所有

GalaxyBruce
粉丝 2
博文 75
码字总数 35340
作品 0
南京
高级程序员
私信 提问
Android之PullToRefresh的使用方法

android studio 导入 PullToRefresh 使用 PullToRefresh 刷新 ListView ---------------------------------------------------------------------------------------上面转载自点击查看如果需......

有名者赫赫
2015/04/18
14.5K
0
iOS 下拉刷新--SSAPullToRefresh

SSAPullToRefresh 是简单的 PullToRefresh 实现,灵感来源于 Facebook 的 iOS 应用 PullToRefresh 组件。

叶秀兰
2014/12/26
1K
1
PullToRefreshListView 应用讲解

转载于http://blog.csdn.net/mmjiajia132/article/details/40397813 PullToRefreshListView 用法和ListView 没有什么区别 listview能用的属性 pulltorefresh也能用 我一直认为动手是最好的学...

程序袁_绪龙
2015/08/02
206
0
使用PullToRefresh实现下拉刷新和上拉加载

PullToRefresh是一套实现非常好的下拉刷新库,它支持:1.ListView2.ExpandableListView3.GridView4.WebView等多种常用的需要刷新的View类型,而且使用起来也十分方便。(下载地址:https://g...

ForingY
2016/12/19
49
0
使用 PullToRefresh 的问题

PullToRefresh 是一个 ListView 的扩展,用来实现向下互动时自动刷新列表的功能。 可在使用过程中发现存在问题。 但初始列表较少的情况下,1-10个,点击某个 item 跳到其他 Activity 再返回列...

鉴客
2011/12/27
2.2K
5

没有更多内容

加载失败,请刷新页面

加载更多

SSH安全加强两步走

从 OpenSSH 6.2 开始已经支持 SSH 多因素认证,本文就来讲讲如何在 OpenSSH 下启用该特性。 OpenSSH 6.2 以后的版本多了一个配置项 AuthenticationMethods。该配置项可以让 OpenSSH 同时指定...

xiangyunyan
29分钟前
4
0
C或C++不是C/C++

http://www.voidcn.com/article/p-mucdruqa-ws.html

shzwork
今天
6
0
OSChina 周六乱弹 —— 如何将梳子卖给和尚

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @for_ :划水五分钟,专注两小时。分享Various Artists的单曲《贝多芬第8号钢琴奏鸣曲悲伤的第三乐章》: 《贝多芬第8号钢琴奏鸣曲悲伤的第三乐...

小小编辑
今天
179
8
ES5

什么是ES5:比普通js运行要求更加严格的模式 为什么:js语言本身有很多广受诟病的缺陷 如何:在当前作用域的顶部添加:"use strict" 要求: 1、禁止给未声明的变量赋值 2、静默失败升级为错误...

wytao1995
今天
7
0
c++ 内联函数调用快的原因

见图片分析

天王盖地虎626
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部