转载请标明原文地址: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. Java 根据年月日精确计算年龄

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created b ...

  2. 从vue.js的源码分析,input和textarea上的v-model指令到底做了什么

    v-model是 vue.js 中用于在表单表单元素上创建双向数据绑定,它的本质只是一个语法糖,在单向数据绑定的基础上,增加了监听用户输入事件并更新数据的功能:对,它本质上只是一个语法糖,但到底是一个 ...

  3. JAVA常见算法题(十四)

    package com.xiaowu.demo; /** * 输入某年某月某日,判断这一天是这一年的第几天? * * * @author WQ * */ public class Demo14 { p ...

  4. [Android Traffic] 让android应用在传输网络数据的时候更省电

    到今年6月,我国的手机网民已经达到了3.88亿,超过了电脑终端.相信有智能机的同学都用过手机上网冲浪.但是手机的电量很快被用光了恐怕是每个人都不能忍受的一件事情.而打开数据连接进行网络数据的传输是很耗 ...

  5. Redis 命令二

    一.连接控制 QUIT 关闭连接 AUTH (仅限启用时)简单的密码验证 二.适合全体类型的命令 EXISTS key 判断一个键是否存在;存在返回 1;否则返回0; DEL key 删除某个key, ...

  6. Spring MVC 解读——<mvc:annotation-driven/>

    Spring MVC 解读——<mvc:annotation-driven/> 一.AnnotationDrivenBeanDefinitionParser 通常如果我们希望通过注解的方式 ...

  7. 【Hadoop】Hadoop MR 自定义分组 Partition机制

    1.概念 2.Hadoop默认分组机制--所有的Key分到一个组,一个Reduce任务处理 3.代码示例 FlowBean package com.ares.hadoop.mr.flowgroup; ...

  8. 安装ansj分词器

    项目地址:https://github.com/4onni/elasticsearch-analysis-ansj https://github.com/laigood/elasticsearch-a ...

  9. SQL注入的几种有用办法

    一.查询表中包括有多少列: 这里以DISCUZ举例说明,例如以下 select * FROM pre_forum_thread ORDER BY 80 返回,Unknown column '80' i ...

  10. Json序列化为对象方法

    /// <summary>/// json 序列化为对象/// </summary>/// <typeparam name="T">对象类型&l ...