转载请标明原文地址:http://blog.csdn.net/yalinfendou/article/details/47707017

关于Android下拉刷新上拉载入,网上的Demo太多太多了,这里不是介绍怎么去实现下拉刷新上拉载入,而是针对下拉刷新上拉载入经常使用的一些应用场景即可了一些总结,包括了下拉刷新上拉载入过程中遇到的一些手势冲突问题的解决方法(仅仅能算是抛砖引玉)。

去年9月的时候。那时自己正在独立做Android项目。

记得刚刚写完那个ListView列表页面(木有下拉刷新,上拉载入),仅仅有一个简单的分页功能,就是当ListView滑动到最底部的时候,会去请求下一页数据,但是没有那个载入很多其它的Footerview。公司的那仅仅产品汪过来看了我实现的效果。说:怎么没有下拉刷新,上拉载入啊,这但是APP的标配啊!

由于那时候真的太菜,刚会Hello world不久,又要急着赶项目。虽说后来也折腾出来了。可是我很清楚的记得那时候是很渴求有人能给我一份完美的Demo啊。

后来接触的东西多了久了。发现事实上下拉刷新。上拉载入很easy,略微复杂一点的就在于某些使用场景,须要解决一些手势冲突问题。所以。希望Demo可以对那些不熟悉下拉刷新,上拉载入的童鞋有一点小小的帮助,大神们就飘过吧!

为什么Demo中没有RecyclerView的下拉刷新上拉载入?

在GIT上也找过一些,自己也尝试写过一些Demo,虽说功能也能实现。但效果并不能让自己惬意,所以这里就不考虑ReclerView啦!

为什么初始化时Item时,没有满屏?

由于眼下市面上的一些APP的下拉刷新上拉载入没有考虑Item不满屏的情况,会有一些异常(或许是由于这样的情况非常少见)。即便是Git上。非常多人都在用的pull-to-refresh,在Item不满屏的情况下,上拉载入很多其它时。Loading的FooterView会紧贴在最后一个Item以下,而不是在屏幕的最底部。个人不太喜欢这样的不友好的交互方式。

由于涉及到的知识点有点杂,非常多知识点是不能去在博客中细细深究的,这里主要介绍的是Android
下拉刷新上拉载入 多种应用场景。

Demo中包括的一些基本的知识点:View和ViewGroup的事件分发机制,DrawerLayout側滑菜单,SwipeListView滑动删除。瀑布流照片墙效果(參考大神郭霖的代码,做了少许修改),图片轮播。PagerSlidingTabStrip,TabLayout,VewPager等的用法在Demo中会有部分体现,网上关于这些方面的知识点的博客太多了,我也是向他人学习的,所以建议先熟悉一下上面的知识点。至少看代码可以明确一些吧。

关于一个下拉刷新上拉载入控件应该注意的地方:

  • 使用方便,能适用于多种情况
  • 解决一些手势滑动冲突
      Demo中包括了一些常见的拉刷新上拉载入使用场景(QQ。网易。豌豆荚。优酷之类的APP上面都见到。仅仅能说国产的APP长得都太像了)。
  1. 基本ListView下拉刷新上拉载入
  2. 基本GridView下拉刷新上拉载入
  3. 基本ScrollView下拉刷新上拉载入。包括Button,TextView。ImageView
  4. DrawerLayout中ListView下拉刷新上拉载入,解决DrawerLayout側滑与ListView下拉上拉的手势冲突
  5. SwipeListView的下拉刷新上拉载入。解决滑动删除的Item与ListView下拉上拉的手势冲突
  6. MultiColumn瀑布流的下拉刷新上拉载入
  7. ListView+图片轮播的下拉刷新上拉载入,解决轮播图片滑动与ListView下拉上拉的手势冲突
  8. PagerSlidingTabStrip+ListView+图片轮播的下拉刷新上拉载入。解决ViewPager,轮播图片滑动,ListView下拉上拉的手势冲突
  9. ……继续加入未完毕

Demo效果图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

看完Demo效果图就应该上代码和Demo源代码了,由于近期小忙小忧桑,另一些下拉刷新上拉载入的应用场景没写完,所以代码和Demo会在后面的博客中给出来。

说好的优化后再上传。近期实在太忙,就把曾经的代码放出来了,Sorry……

CSDN下载地址:http://download.csdn.net/detail/yalinfendou/9187925

Android 下拉刷新上拉载入 多种应用场景 超级大放送(上)的更多相关文章

  1. Android实现RecyclerView的下拉刷新和上拉载入很多其它

    需求 先上效果图, Material Design风格的下拉刷新和上拉载入很多其它. 源代码地址(欢迎star) https://github.com/studychen/SeeNewsV2 假设对于 ...

  2. Android 使用PullToRefresh实现下拉刷新和上拉加载(ExpandableListView)

    PullToRefresh是一套实现非常好的下拉刷新库,它支持: 1.ListView 2.ExpandableListView 3.GridView 4.WebView 等多种常用的需要刷新的Vie ...

  3. 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉载入很多其它

    一.概述 本篇博客介绍的是怎样使用SwipeRefreshLayout和RecyclerView实现高仿简书Android端的下拉刷新和上拉载入很多其它的效果. 依据效果图能够发现,本案例实现了例如以 ...

  4. Android 5.X新特性之为RecyclerView添加下拉刷新和上拉加载及SwipeRefreshLayout实现原理

    RecyclerView已经写过两篇文章了,分别是Android 5.X新特性之RecyclerView基本解析及无限复用 和 Android 5.X新特性之为RecyclerView添加Header ...

  5. 使用PullToRefresh实现下拉刷新和上拉加载

    使用PullToRefresh实现下拉刷新和上拉加载 分类: Android2013-12-20 15:51 78158人阅读 评论(91) 收藏 举报 Android下拉刷新上拉加载PullToRe ...

  6. 安卓开发笔记——关于开源组件PullToRefresh实现下拉刷新和上拉加载(一分钟搞定,超级简单)

    前言 以前在实现ListView下拉刷新和上拉加载数据的时候都是去继承原生的ListView重写它的一些方法,实现起来非常繁杂,需要我们自己去给ListView定制下拉刷新和上拉加载的布局文件,然后添 ...

  7. 实现RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性、网格、瀑布流效果演示

    实现RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性.网格.瀑布流效果演示 效果预览 实例APP 小米应用商店 使用方法 build.gradle文件 dependenc ...

  8. Diycode开源项目 搭建可以具有下拉刷新和上拉加载的Fragment

    1.效果预览 1.1.这个首页就是一个Fragment碎片,本文讲述的就是这个碎片的搭建方式. 下拉会有一个旋转的刷新圈,上拉会刷新数据. 1.2.整体结构 首先底层的是BaseFragment 然后 ...

  9. 手把手教你实现RecyclerView的下拉刷新和上拉加载更多

    手把手教你实现RecyclerView的下拉刷新和上拉加载更多     版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https:// ...

随机推荐

  1. mysql系列-安装及服务启动

    一.window下的安装 详细见官网 https://dev.mysql.com/doc/refman/5.7/en/windows-installation.html 以 MySQL 5.1 免安装 ...

  2. openfire源码解读之将cache和session对象移入redis以提升性能

    原文:http://blog.csdn.net/jinzhencs/article/details/50522322 前言: 目前我们的openfire服务器只能支撑单机2W 集群4W.(估测在线用户 ...

  3. 【Linux】Linux下 环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别【转】

    转自:http://blog.csdn.net/qiao1245/article/details/44650929 ------------------------------------------ ...

  4. 【SVN】删除SVN上的历史资源路径和SVN上的历史用户信息

    1.删除svn上历史资源路径 window--show view--other--svn资源库 可以右键选择删除 . ----------------------------------------- ...

  5. Volley缓存说明——一个请求两次回调

    从上一篇文章Android 异步网络请求框架-Volley了解volley的一些出来过程,当然也包含网络请求和缓存处理的流程,但是在此需要单独做一些说明. 我在使用过程中忽略了一个事情,就是一个网络请 ...

  6. pycharm批量清楚pyc、$py.class文件

    By default, the .pyc and $py.class files are ignored, and thus are not visible in the Project tool w ...

  7. account for 与led to和result in的区别

    account for sth:be the explanation of sth; explain the cause of sth 作某事物的解释; 解释某事物的原因:His illness ac ...

  8. Linux zip

    压缩文件: zip -r res.zip [src/] [abc.txt] 解压文件: unzip res.zip -d dir_path

  9. 用JS怎么判断上传文件控件是否未选择文件

    页面代码: <form name="form1" action="uploadPosdetailFile.html" method="post& ...

  10. wmi在渗透测试中的运用

    Abusing WMI to Build a Persistent, Asynchronous, and Fileless Backdoor 滥用 WMI 打造一个永久.异步.无文件后门 http:/ ...