转载请标明原文地址: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. JavaScrip book

     1.<JavaScript: The Good Parts>中文版:<JavaScript语言精粹>2.<Professional JavaScript for Web ...

  2. uprobes issue with oracle 12c

    https://mahmoudhatem.wordpress.com/2017/03/21/uprobes-issue-with-oracle-12c/

  3. ISP模块之RAW DATA去噪(一)

    ISP(Image Signal Processor),图像信号处理器,主要用来对前端图像传感器输出信号处理的单元,主要用于手机,监控摄像头等设备上. RAW DATA,可以理解为:RAW图像就是CM ...

  4. Java之基本类库学习

    JAVA基本类库: (一),输入相关 main(String[] args):设置输入参数 输入类:Scanner:Scanner sc=new Scanner(System.in); (二),系统相 ...

  5. 2017.7.18 linux下ELK环境搭建

    参考来自:Linux日志分析ELK环境搭建  另一篇博文:2017.7.18 windows下ELK环境搭建   0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1 ...

  6. IDEA如何打包可运行jar的一个问题

    转载:http://bglmmz.iteye.com/blog/2058785 背景: 有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包:或者某些项目不是WEB应用,纯粹是后台应用, ...

  7. 仿苹果电脑任务栏菜单&&拼图小游戏&&模拟表单控件

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Win7如何配置java环境变量,运行环境

    直接运行eclipse,弹出错误提示.   1 确保你安装了JDK,安装之后文件夹示例如下(jdk1.x.x取决于你安装的JDK版本)   2 系统,高级系统设置,高级,环境变量新建一个JAVA_HO ...

  9. linux系统预留内存和磁盘大小

    默认情况下, Linux 会最多使用 40% 的可用内存作为文件系统缓存.当超过这个阈值后,文件系统会把将缓存中的内存全部写入磁盘, 导致后续的 IO 请求都是同步的. 将缓存写入磁盘时,有一个默认1 ...

  10. 熟悉jauery库中的构造函数 jQuery()

    如果调用构造函数 jQuery() 时传入的参数不同,创建 jQuery 对象的逻辑也会随之不同.实际上构造函数 jQuery() 有 7 种用法,下面一一举例 1.jQuery( selector ...