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

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

去年9月的时候,那时自己正在独立做Android项目。记得刚刚写完那个ListView列表页面(木有下拉刷新,上拉加载),只有一个简单的分页功能,就是当ListView滑动到最底部的时候,会去请求下一页数据,但是没有那个加载更多的Footerview。公司的那只产品汪过来看了我实现的效果,说:怎么没有下拉刷新,上拉加载啊,这可是APP的标配啊!

因为那时候真的太菜,刚会Hello world不久,又要急着赶项目,虽说后来也折腾出来了,但是我非常清楚的记得那时候是非常渴求有人能给我一份完美的Demo啊。后来接触的东西多了久了,发现其实下拉刷新,上拉加载很简单,稍微复杂一点的就在于某些使用场景,需要解决一些手势冲突问题。所以,希望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效果图:

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

说好的优化后再上传,最近实在太忙,就把以前的代码放出来了,Sorry……

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

Android 下拉刷新上拉加载 多种应用场景 超级大放送(上)相关推荐

  1. Android 下拉刷新上拉载入 多种应用场景 超级大放送(上)

    转载请标明原文地址:http://blog.csdn.net/yalinfendou/article/details/47707017 关于Android下拉刷新上拉载入,网上的Demo太多太多了,这 ...

  2. (仿头条APP项目)6.点击过的新闻列表文字变灰和下拉刷新与滚动加载新闻数据

    文章目录 一.点击过的新闻列表文字变灰 效果图 实现思路 导入ormlite数据库类依赖 利用ormlite创建数据库和表 创建数据库类MyDbHelper 创建数据库中的新闻实体类NewInfo 页 ...

  3. uni-app下拉刷新触底加载更多

    首先在pages.json 配置文件中配置    "enablePullDownRefresh": true  需要在哪用加载就配置在路由的style里 两个事件 //下拉刷新 o ...

  4. recyclerview的数据刷新(下拉刷新和自动加载更多)以及添加提示语(例如:“数据已加载完毕”)

    下拉加载更多的核心是SwipeRefreshLayout搭配Recyclerview进行使用.布局为 <android.support.v4.widget.SwipeRefreshLayout ...

  5. Android下WebView的图片适配加载与文字自动换行处理

    相信各位在Android开发中使用WebView加载页面的时候,或多或少会遇到一些网页适配的问题,例如图片过大或者是单行文字过长, 导致网页可以左右拖动,使自己加载出来的网页显得非常的low,下面介绍 ...

  6. Vue 下拉刷新及无限加载组件 - 有你便是晴天 - 博客园

    原文  https://github.com/wangdahoo/vue-scroller 主题 Vue.js Vue Scroller Vue Scroller is a foundational ...

  7. p7510 rom android 8,三星平板电脑p7510测评报价及刷机教程大放送【图文】

    最近 平板电脑 一直都非常流行,其中人气最高的就应该是 苹果 品牌的平安电脑了,虽然说很多朋友们都想买这个品牌的,但是并不是市面上最流行的就是适合自己的,想要找到一款简单方便,性价比高的平板才是比较值 ...

  8. 漫画绘制技法大放送(上)

    网络收集整理(jundark) [1b]一.人体基本结构[/1b] [img]/uploads/allimg/080422/1101080.jpg[/img] 小孩 孩子的头部较大,一般比例为三到四个 ...

  9. 微信小程序下拉刷新列表onPullDownRefresh;微信小程序上划加载列表onReachBottom;uni-app微信小程序下拉加载数据;uni-app微信小程序上划页面加载数据

    需求:微信小程序列表加载有两种方式,分别是按住页面下拉加载数据数据(触发onPullDownRefresh)和直接上划滚动页面到底部加载数据(触发onReachBottom函数). 本文主要是使用上划 ...

最新文章

  1. 如何理解numpy.nan_to_num
  2. 人工智能不再是未来,机器学习靠什么来实现?
  3. Java实现的简单神经网络(基于Sigmoid激活函数)
  4. iptables中文man文档
  5. java 多行 n_Java实现向Word添加多行图片水印
  6. 稳扎稳打Silverlight(33) - 3.0控件之AutoCompleteBox, DataPager
  7. vscode 不能运行h5c3代码_让开发效率“飞起”的VS Code 插件
  8. 2018.9.10.Matlab实验一:熟悉Matlab开发环境
  9. android用户登录volley,如何在Android上使用Volley进行基本身份验证?
  10. tf.layers.conv2d_transpose 反卷积
  11. 内存管理, 对象的生命周期
  12. Maven学习五之Nexus中各repository介绍
  13. 黑马程序员全套Java教程_Java基础教程_目录
  14. Android Hook框架adbi的分析(1)---注入工具hijack
  15. win7保护眼睛的颜色设置方法
  16. vscode 管理员权限 运行终端
  17. HTML导出生成Word文档
  18. mark制图软件_初学者使用Mac绘图软件推荐
  19. 立体匹配 之 代价聚合 滤波器篇
  20. Pytorch:手撕ResNet34实现汽车分类

热门文章

  1. Golang的strings.Builder
  2. ubuntu 16.04 启用root用户方法
  3. 4月22日绝地求生服务器维护中,绝地求生5月22日更新服务器繁忙怎么办 吃鸡5月22日更新内容...
  4. python--装饰器
  5. 重装ubuntu22.04系统+配置StyleGAN环境
  6. c语言程序设计教程博客,C语言教程第三章: C语言程序设计初步
  7. Linux之字符设备驱动框架
  8. Docker搭建3主3从Redis Cluster集群
  9. 数码相机拍摄技巧,帮助初学者拍出自己想要的图像
  10. vue antd a-table组件设置表头鼠标移入悬浮显示(自定义的表头)