Android下拉刷新,在目前好多应用被使用到。
比如微博,下拉刷新更多数据。
一般我们在运用的ListView,本身就实现了下拉获取更多数据。只是这个下拉刷新的操作时在listView拉到底端的监听。
对于ListView刷新,我们可以分为两种情况:
1.获取更多的数据,按服务器数据库时间顺序存储入情况,此刻我们是获取是显示在我们应用中的数据更早前的数据,这也是最常见的情况。
比如(微博获取更多信息,就是获取更多更早前的信息,然后动态的添加到已有的数据的下方);
2.获取更多的最新的数据,其实还是一种获取更多的操作方式。但是这里主要考虑到用户的操作习惯了。一般,用户的操作习惯分这么两种
第一种,获取下一页,第二种,类似于网页的F5刷新,停留在当前页面的刷新。
ListView刷新其实类似于网页。如果没用下拉刷新,那么用户得将ListView拖拉到最后(当然也可以是在界面顶端添加一个刷新按钮控件,但是,对于手机这样界面不是很大,这样的设计其实是不应太多的。),如果数据太多,那么用户要下拉到很下面才能执行刷新。而对于大多数用户习惯,获取更多的最新资讯后,希望他添加的时候是在界面最上面的显眼处的。也就是,用户还是喜欢的是懒操作,在同一个可显示界面完成所有操作。那么,下拉刷新是一个不错的设计。
效果图:正常状态
下拉刷新:
基本效果就是这样。
自定义控件代码
此控件自定义实现一个线性布局,内部包含一个第一个子控件,刷新显示的View。
因为对于ListView下拉刷新的例子网上挺多的,上次我朋友也做,说特么弄了一个礼拜发现一个问题,listview里面条目太少时,刷新的view就会显示出来。
我没具体看过那个代码,也不知道到底什么情况。
自个定义的稍微用了点小技巧。即,我将刷新view的topMargin设置为了该view的高度的负数,那么,他就刚好隐藏起来了。
对于上面那个对于条目太少而造成刷新的view显示的bug有所解决。
控件使用:
即,我的listview是以该控件的第二个子view加入进去。此刻又会遇到一个问题:我在界面执行下拉时,应用如何分辨我是执行的RefreshableView下拉刷新操作,还是listview下拉操作。这个问题一开始挺悲剧的,就是当我的listview中数据挺多,那我手势一网上滑,此刻操作不会出现冲突,因为刷新View监听的下滑事件监听;然后此刻listview滑到了底部,我要回到listview顶部去,就得执行向下滑操作,那么这时的操作就和刷新view中下滑,下拉刷新监听冲突。后来发现了view中两个函数:子控件截取事件函数。具体来说是就是用的点击屏幕,touch事件会先被onInterceptTouchEvent捕捉,子view先做处理,然后根据true和false,才判断是否截取事件交给父View处理。那么我们就可以在onInterceptTouchEvent做了预处理,更具判断listview是佛在最底部,可下滑,来判断是佛让子view来截取处理该touch事件。具体判断看canScroll();同样的考虑到ScrollView类似有listview的情况,也做了处理,因此该控件支持包含listview和scrollview。实现代码基本如上,内部可能还有挺多的bug,但是目前我应用上实现暂没发现。最后感谢网上的可刷新代码demo,以及sina微博可刷新控件代码以及网易应用可刷新控件代码。
分享到:
相关推荐
Android下拉刷新,在目前好多应用被使用到。比如微博,下拉刷新更多数据。一般我们在运用的ListView,本身就实现了下拉获取更多数据。只是这个下拉刷新的操作时在listView拉到底端的监听。对于ListView刷新,我们...
android自定义ListView控件实现下拉刷新 详情请看:http://blog.csdn.net/wild46cat/article/details/52679082
安卓Android源码——下拉刷新控件(ListView好ScrollView版).rar
【ListView】自定义控件:下拉刷新,亲测,可正常运行,有注释。
android自定义ListView控件实现下拉刷新、分页加载、item点击 详情请看:http://blog.csdn.net/wild46cat/article/details/52682091
本资源为Android项目中的下拉刷新控件,支持ListView和ScrollView两种视图。该控件具有高度可定制性,可根据您的需求进行二次开发。 该下拉刷新控件采用流畅的动画效果,提供轻松的用户体验。当用户下拉刷新时,...
android自定义listview控件 可实现下拉刷新、下拉加载更多的功能,代码比较简单,内有详细注释和实现方法,方便初学者学习
该工具类封装了一个自定义的带下拉刷新的listview,可直接导入Module工程,然后依赖到当前项目即可使用, https://blog.csdn.net/weixin_41771564/article/details/81082512这里有详细的使用
Android应用源码下拉刷新控件(ListView好ScrollView版).zip
安卓Android源码——下拉刷新控件(ListView好ScrollView版).zip
Android应用源码下拉刷新控件(ListView好ScrollView版).zip项目安卓应用源码下载Android应用源码下拉刷新控件(ListView好ScrollView版).zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究...
Android中自定义ListView控件实现下拉刷新_简单实用效果好
android的ListView上拉刷新下拉加载和列表头横向滚动(带表头与固定列)。 该demo是我结合网上的两个示例一个是上下拉刷新加载的ListView,一个是横向滚动带固定列和列表头.主要是自定义了两个控件(重写)ListView和...
在android开发中,GridView、ListView等列表View上拉、下拉进行刷新的控件。
Android下拉刷新控件(ListView好ScrollView版).rar
Android下拉刷新控件(ListView好ScrollView版).zip
listview下拉刷新上拉加载(仿美团外卖袋鼠动画)。
Android下拉刷新控件(ListView好ScrollView版)完整版
进一步优化了 ListView的下拉刷新 和更多 的自定义控件 大家如有需要请下载后详细看代码的注释 你只需要详细阅读Activity中的代码 那里有提供完整的范例使用 如果有需要对控件再扩张可以详细看全部代码。 代码只需...