`
须等待
  • 浏览: 212843 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

探索Android 下拉刷新效果的实现

阅读更多

下拉刷新的功能很常见,以新浪微博为例,下拉刷新获取新的微博。

 

这里也有两种实现的思路,一种有点类似于前面介绍的置顶标题的实现,即动态的画出下拉刷新这个View,但是LZ经过了很多尝试,发现和ListView的结合不是很好,所以没有成功,故而放弃,转向第二种思路,也就是网上资料比较多的一种思路:利用ListView的head来实现。

 

这里有几个最重要的点:

1. 如何展现和隐藏head。在未下拉的状态,或者惯性滑动的状态下,下拉刷新的View是不能被显示的,也就是平时的时候这个View应该是要被隐藏的,如何做到这一点呢。开始LZ尝试用layout方法重新布局,发现不管用,后来查了一些资料,发现原来在ListView中隐藏一项是用set一个小于0的padding值来实现的,这里顺利解决问题。

2. 关于刷新状态的把控。LZ在最初的实验过程中由于没有理清思路,在这里花了很长时间,后来才明白,刷新状态是一个必须明确的地方。并且必须和用户的操作结合。分析如下:当用户按下时(DOWN), 当且仅当用户处于第一页,能看到第一项时,进入一个可刷新的状态(FRESHABLE),其他都不作处理,保持原来的状态(DONE);当用户开始滑动时,用户向下滑动,但是滑动距离没有超过阀值(和下拉刷新VIew的高度相关),则进入开始状态(START),当且仅当用户向下滑动至超过阀值,进入刷新预备状态(FRESH),如果用户向上滑动,则还原到可刷新的状态(FRESHABLE);当用户释放(UP), 如果是FRESHABLE或者是DONE状态,则不用作处理,统一归到DONE状态,如果是START状态,则用户下拉的距离不够,释放之后回归到正常状态,并选中第一项,隐藏head,如果是FRESH状态,则说明用户下拉了足够的距离,释放之后应该开始刷新,完全显示head,进入刷新状态,刷新完成之后再回到DONE状态。

 

把握好重要的点之后,LZ终于实现了下拉刷新的效果。

上干货

2
0
分享到:
评论
1 楼 tsorgy 2013-10-14  
感谢LZ

相关推荐

    Android 自定义下拉刷新

    在Android开发中,"自定义下拉刷新"是一项常见的需求,尤其在列表视图(ListView)和滚动视图中。这个功能允许用户通过下拉列表顶部来触发数据的更新,通常与“加载更多”功能结合,当用户滚动到底部时加载新的数据。...

    Android下拉刷新

    本篇文章将深入探讨Android下拉刷新的实现原理、相关组件以及实际应用中的实现步骤。 一、下拉刷新原理 下拉刷新的基本原理是监听用户的滑动事件,当用户在列表顶部执行下拉动作时,视图会展示一个刷新指示器,...

    android 下拉刷新

    本教程将深入讲解如何实现Android下的下拉刷新功能。 首先,我们需要了解下拉刷新的基本原理。在Android中,下拉刷新主要由两部分组成:一个可滚动的视图(如ListView或RecyclerView)和一个刷新指示器。当用户向下...

    Android实例源码-下拉上拉刷新类安卓源代码(9例).zip

    listView下拉刷新上拉刷新带阻尼效果 PullToRefresh下拉刷新详细注释版 SwipeRefreshLayoutSample ViewPager中嵌套ListView实现了下拉刷新和上拉更多,解决了冲突的问题。 XListview实现上拉刷新下拉加载功能 下拉...

    Android、标题栏置顶、下拉刷新、下滑自动加载

    在Android开发中,标题栏置顶、下拉刷新和下滑自动加载是常见的用户界面功能,它们极大地提升了用户体验。本文将详细讲解如何实现这些功能,并探讨它们在实际项目中的应用。 一、Android标题栏置顶 标题栏置顶,...

    仿雅虎天气下拉刷新

    本文将深入探讨下拉刷新机制、模糊背景效果以及实现这些功能的技术细节。 首先,我们来看下拉刷新(Pull-to-Refresh)功能。这是移动应用中广泛采用的一种加载新数据的方式,用户只需在列表顶部向下拉动,就能触发...

    安卓下拉上拉刷新相关-很好看的水滴下拉刷新下载后可以直接使用.zip

    SwipeRefreshLayout是Android SDK中内置的一个用于实现下拉刷新的标准组件,它可以包裹一个可以滚动的视图,如ListView或RecyclerView,当用户上拉或下拉时,会触发刷新动作。 在压缩包内的文件中,"JavaApk源码...

    下拉刷新2.zip

    这个压缩包文件"下拉刷新2.zip"很可能包含了一个关于Android下拉刷新机制的示例项目或源代码,用于帮助开发者深入理解这一功能的实现原理。 在Android中,下拉刷新通常由SwipeRefreshLayout组件实现。...

    安卓下拉上拉刷新相关-下拉刷新2.zip

    使用时,将ListView或RecyclerView等作为其子视图,设置相应的监听器,即可实现下拉刷新的动画效果及回调。 而上拉加载更多通常需要开发者自己定制。这可能涉及到监听ListView的滑动事件,判断是否到达底部,然后...

    安卓 下拉刷新上拉加载

    - UI设计:展示下拉刷新和上拉加载的动画效果,例如旋转指示器、加载提示文字等。 - 示例代码:包含如何在实际项目中集成和使用的示例代码。 五、使用步骤 1. 引入库:将PullToRefresh_MoreLoad_PerfectVersion导入...

    下拉刷新+上拉加载更多

    在Android开发中,自定义刷新布局可以实现更个性化的视觉效果,比如CircleRefreshLayout可能就是一种具有旋转圈圈效果的下拉刷新组件。这类组件通常会覆盖默认的刷新动画,并提供自定义颜色、动画速度等配置。 实现...

    最基本的下拉刷新(可简单套用)

    在Android开发中,下拉刷新和上拉加载更多是移动应用常见的交互模式,尤其是在列表或者网格视图中。本文将详细讲解如何实现一个最基础的下拉刷新功能,适合初级开发者学习套用。 首先,我们需要了解下拉刷新的基本...

    google最新的下拉刷新功能

    google提供的最新的下拉刷新控件,android.support.v4.widget.SwipeRefreshLayout控件,在里面可以放置任何一个控件,包括ListView,scrollview,gridview等等,。都可以下拉刷新

    安卓下拉上拉刷新相关-BeerSwipeRefresh倒啤酒效果的刷新小组件.rar

    在Android开发中,"下拉上拉刷新"是一种常见的用户交互设计,用于更新列表或...通过深入理解和学习这个组件,开发者不仅可以掌握下拉上拉刷新的基本原理,还能探索更高级的动画效果实现,为自己的应用增添独特的亮点。

    下拉刷新,上拉加载数据

    1. 原理:下拉刷新涉及到的主要技术包括手势检测(检测用户的下拉动作)、动画效果(显示刷新状态)和数据请求(向服务器请求新数据)。通常,开发者会使用特定的UI组件或库来实现,例如iOS的UIRefreshControl,...

    安卓下拉上拉刷新相关-SwipeRefreshLayout自定义带上拉加载更多.zip

    `SwipeRefreshLayout`是Android SDK提供的一种用于实现下拉刷新的组件。它通常被放在`RecyclerView`或`ListView`等滚动视图的父容器中,当用户从顶部向下拖动时,会触发刷新动作。`SwipeRefreshLayout`内置了动画...

    下拉刷新数据

    在Android中,实现下拉刷新的库有多种选择,如SwipeRefreshLayout是Google官方提供的API,适用于Android 4.0及以上版本。它包含一个可以嵌套的子视图,例如ListView或RecyclerView,并提供了易于使用的接口来处理...

    探索SwipeRefreshLayout配合自定义ListView完成下拉刷新、滑到底部自动加载更多

    SwipeRefreshLayout是Android SDK提供的一种用于实现下拉刷新效果的组件,通常与ListView、RecyclerView等列表视图配合使用。本文将深入探讨如何结合SwipeRefreshLayout和自定义ListView来实现这一功能。 首先,...

    安卓listview相关相关-探索SwipeRefreshLayout配合自定义ListView完成下拉刷新滑到底部自动加载更多.zip

    总的来说,这个压缩包提供的内容对于学习和实现Android应用中的下拉刷新和自动加载更多功能是非常有价值的。通过研究这些代码,开发者可以了解到如何利用SwipeRefreshLayout提升用户体验,并且掌握自定义ListView以...

Global site tag (gtag.js) - Google Analytics