Android 下拉刷新上拉载入 多种应用场景 超级大放送(上)
转载请标明原文地址: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中会有部分体现,网上关于这些方面的知识点的博客太多了,我也是向他人学习的,所以建议先熟悉一下上面的知识点。至少看代码可以明确一些吧。
关于一个下拉刷新上拉载入控件应该注意的地方:
- 使用方便,能适用于多种情况
- 解决一些手势滑动冲突
- 基本ListView下拉刷新上拉载入
- 基本GridView下拉刷新上拉载入
- 基本ScrollView下拉刷新上拉载入。包括Button,TextView。ImageView
- DrawerLayout中ListView下拉刷新上拉载入,解决DrawerLayout側滑与ListView下拉上拉的手势冲突
- SwipeListView的下拉刷新上拉载入。解决滑动删除的Item与ListView下拉上拉的手势冲突
- MultiColumn瀑布流的下拉刷新上拉载入
- ListView+图片轮播的下拉刷新上拉载入,解决轮播图片滑动与ListView下拉上拉的手势冲突
- PagerSlidingTabStrip+ListView+图片轮播的下拉刷新上拉载入。解决ViewPager,轮播图片滑动,ListView下拉上拉的手势冲突
- ……继续加入未完毕
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 下拉刷新上拉载入 多种应用场景 超级大放送(上)的更多相关文章
- Android实现RecyclerView的下拉刷新和上拉载入很多其它
需求 先上效果图, Material Design风格的下拉刷新和上拉载入很多其它. 源代码地址(欢迎star) https://github.com/studychen/SeeNewsV2 假设对于 ...
- Android 使用PullToRefresh实现下拉刷新和上拉加载(ExpandableListView)
PullToRefresh是一套实现非常好的下拉刷新库,它支持: 1.ListView 2.ExpandableListView 3.GridView 4.WebView 等多种常用的需要刷新的Vie ...
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉载入很多其它
一.概述 本篇博客介绍的是怎样使用SwipeRefreshLayout和RecyclerView实现高仿简书Android端的下拉刷新和上拉载入很多其它的效果. 依据效果图能够发现,本案例实现了例如以 ...
- Android 5.X新特性之为RecyclerView添加下拉刷新和上拉加载及SwipeRefreshLayout实现原理
RecyclerView已经写过两篇文章了,分别是Android 5.X新特性之RecyclerView基本解析及无限复用 和 Android 5.X新特性之为RecyclerView添加Header ...
- 使用PullToRefresh实现下拉刷新和上拉加载
使用PullToRefresh实现下拉刷新和上拉加载 分类: Android2013-12-20 15:51 78158人阅读 评论(91) 收藏 举报 Android下拉刷新上拉加载PullToRe ...
- 安卓开发笔记——关于开源组件PullToRefresh实现下拉刷新和上拉加载(一分钟搞定,超级简单)
前言 以前在实现ListView下拉刷新和上拉加载数据的时候都是去继承原生的ListView重写它的一些方法,实现起来非常繁杂,需要我们自己去给ListView定制下拉刷新和上拉加载的布局文件,然后添 ...
- 实现RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性、网格、瀑布流效果演示
实现RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性.网格.瀑布流效果演示 效果预览 实例APP 小米应用商店 使用方法 build.gradle文件 dependenc ...
- Diycode开源项目 搭建可以具有下拉刷新和上拉加载的Fragment
1.效果预览 1.1.这个首页就是一个Fragment碎片,本文讲述的就是这个碎片的搭建方式. 下拉会有一个旋转的刷新圈,上拉会刷新数据. 1.2.整体结构 首先底层的是BaseFragment 然后 ...
- 手把手教你实现RecyclerView的下拉刷新和上拉加载更多
手把手教你实现RecyclerView的下拉刷新和上拉加载更多 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https:// ...
随机推荐
- windows上的docker容器内安装vim
Reading package lists... Done Building dependency tree Reading state information... Done E: Unable t ...
- django 删除表后如何恢复
大家都知道Python manage.py makemigrations 创建迁移文件也就是sql语句,python manage.py migrate执行makemigrations创建的文件,如果 ...
- x-pack破解并安装
声明:本文仅作为学习交流,请勿用于商业用途,否则后果自负.如需使用黄金或白金版X-Pack请购买正版. 1. 安装x-pack 具体安装过程参照:http://www.cnblogs.com/shao ...
- 【Eclipse】Eclipse 中 使用 Git 方法
参考资料: Eclipse关联GitHub实现版本控制:http://jingyan.baidu.com/article/64d05a0262f013de55f73bcc.html http://ww ...
- Windows 用VS编译libevent源码
原理:从github上克隆libevent源码,然后使用cmake生成VS工程 github 上 libevent项目地址:https://github.com/libevent/libevent 第 ...
- GMGC记实(上篇)
24日和25日參加了2014年GMGC大会,整体感觉今年的大会比前2届大会办的更符合听众的需求.由于今年的大会开设了开发人员训练营的分会场.在成都这样一个CP占主流的IT圈中非常有意义.另一点就是在会 ...
- 【Excle数据透视表】如何在组的顶部显示分类汇总
调整前 调整后 例 ...
- 获取web应用路径 // "/" 表示class 根目录
/** * 获取web应用路径 * @Description : 方法描述 * @Method_Name : getRootPath * @return * @return : String * @C ...
- scrollTop clientTop offsetTop scrollHeight clientHeight clientWidth的差别及使用方法
这几个属性做滚动时会经经常使用到.现总例如以下: 首先定义一个div.样式例如以下: <style> *{ margin:0px; padding:0px;} body{ margin:0 ...
- mongoDB: cursor not found on server
查询mongoDB集合数据更新,数据有400w多.我一次用cursor(游标)取1w,处理更新.程序在某段时间运行中遍历游标时发生异常! DBCursor cursor = tabColl.find( ...