android中listview的下拉刷新上拉加载是怎么实现的

 我来答
彭干彦
推荐于2016-06-06 · TA获得超过140个赞
知道小有建树答主
回答量:162
采纳率:85%
帮助的人:125万
展开全部

这是两个分开的部分。如果你是新手,先一个一个来。

我只能跟你说一下思路,具体的东西你在网上查查,不行再问我,新手的话慢慢来。

  1. 下拉刷新,获取listview的下拉时间显示header,然后调用更新数据的接口就可以了。

  2. 上啦加载,是分页获取数据,获取listview的是否拉到最底,如果拉倒最底,获取数据,让后list的数据添加获取的数据,更新adapter就可以了。


百度网友b482631
2015-11-03 · TA获得超过787个赞
知道小有建树答主
回答量:654
采纳率:100%
帮助的人:660万
展开全部
下拉刷新本是ios上的效果,后来在android中也大量采用,但是我一直没有找到一个在性能和效果上都可以比肩ios的那种控件,有些控件效果不错但是滑动不流畅,有些很流畅但是效果突兀,比如oschina的客户端,后来看了看oschina的下拉刷新代码,觉得他这个可以自己修改一下,自己动手修改之后才发现,一个小小的下拉刷新,上拉加载其实有很多细节难以处理,直到现在我都还没有把oschina的控件改完美(我说的完美是美观、自然、流畅并且api简单,其实oschina的代码写的很乱),我的最终目的是要得到这样一个listview:
1.下拉的时候有一定的阻尼效果
oschina的下拉在这点上做的最差,轻轻一拉就跑了飞远。
2.手指不松开来回的下拉滑动速度不变,位移相同的情况下,和状态有关的图标与文字指示都是一一致的。
其中“位移相同的情况下,和状态有关的图标与文字指示都是一一致的”这一点很容易做到,但是“手指不松开来回的下拉滑动速度不变”这点不容易做到,因为一般来说下拉刷新的原理都是通过添加一个listview的headerview实现的,当headerview出现的时候,来回移动会跟listview本身的scroll滚动冲突,假如第一次下拉有阻尼效果,按住不松开,回到顶部,再次下拉的时候这个阻尼效果消失了(注意这个过程始终没有松开)。这是绝大多数下拉刷新控件都具有的问题。
3.listview头部提示部分的高度变化是渐进的,平滑的
很多下拉刷新控件在松开的时候一下子就跳到了刷新状态,当刷新完成一下子又跳到了没有头部的状态,这让人感觉非常不爽。
4.下拉刷新的api应该尽可能简单,使用起来最好和ListView本身差别不大,用户不需要非常小心就能完美实现。
oschina的下拉刷新控件中headerview 和 footerview的布局都需要用户自己去定义,使用起来很麻烦。
5.虽然实现了下拉刷新,但是这个功能不应该影响到listview本身的滑动性能。
记得又一个被大量使用的下拉刷新控件,忘了名字了,使用之后能明显感觉到listview的性能下降很多,但是因为UI做的好加上还有很多其他的花哨功能,被很多app采用。
虽然我多次提到oschina在下拉刷新的处理上的不足,但是他给我们提供了实现下拉刷新listview的基本原理:重写onTouchEvent 根据手势位移改变listview的headerview。
在oschina的listview的基础上我基本做到了1、3、4、5点但是第二点还做不到,也没想好解决办法。
但是在网上我找到一个解决了上述5点绝大多数问题的第三方控件,XListView
现在我都不知道是继续去修补那个oschina的控件还是直接采用XListView了。。。
百度一下,有很多的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weixiaoccJSP
2015-11-03 · TA获得超过1085个赞
知道小有建树答主
回答量:445
采纳率:66%
帮助的人:189万
展开全部
csdn里面的一篇经验,复制量太大,请谅解
(blog.csdn.net/shiguangbianjing/article/details/23658571)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式