新浪微博项目-上下拉刷新控件经验总结

1.下拉控件的刷新:
  原理:通过监听UIRefresh下拉刷新控件的拖拽,向服务器发送请求数据,当将获取的数据插入到模型最前面,更新并加载到tableView上时,结束刷新;
>创建UIRefresh下拉刷新控件,绑定监听并添加到tableView上面;
>当控件下拉时:
 1.向服务器发送请求数据,当将获取的数据存入模型,更新并加载到tableView上时,结束刷新;
 2.下拉刷新的时间距离上次下拉时间间隔太短时,不再向服务器发送请求数据,直接返回,结束刷新;
  (补充:当下拉刷新控件同时下拉多次时,只会向服务器发送一次数据请求,直到获取到服务器的全部数据时,才会结束刷新,此方法的实现方法为:当下拉控件加载数据完成时,记录当前时间,将这个时间与再一次下拉刷新控件时当前时间相比,若间隔时间太短,不再向服务器发送请求数据,直接返回,结束刷新)

2.上拉控件加载更多数据:
  原理:通过监听tableView的滚动,当滚动到最后一条微博即将出现时,自动加载微博数据;
>自定义一个view加载xib并添加到tableView的footerView上;
>当滚动到最后一行出现时,上拉控件出现自动加载比当前这条微博还早发出的更多微博数据,并将加载到的数据追加到模型最后面,刷新表格显示数据,隐藏上拉控件;

3.首页小标或者是软件退出后台时的图标右上方显示当前未刷新的微博数目:
  原理:新建一个定时器,每隔一段时间向服务器发送数据,当未读微博数目不为0时,显示在首页下标或者是软件退出后台时的图标右上方;
>未读微博数目不为0时,显示在首页下标或者是软件退出后台时的图标右上方;当下拉刷新控件时,加载最新数据并将当前微博未读数清0;

时间: 2024-12-21 02:19:52

新浪微博项目-上下拉刷新控件经验总结的相关文章

Android 解决下拉刷新控件和ScrollVIew的滑动冲突问题。

最近项目要实现ScrollView中嵌套广告轮播图+RecyleView卡片布局,并且RecyleView按照header和内容的排列样式,因为RecyleView的可扩展性很强,所以我毫无疑问的选择了它,而且让RecyleView实现了可拖拽的效果, 最后我再加上了下拉刷新的效果(这里我用的下拉刷新控件是三方的SmartRefreshLayout).记得刚开始实现这个效果的时候还是十分的得心印手.可是当我测试的时候,发现RecyleView的子item的拖拽效果并不流畅,起初我以 为是由于Re

Android下拉刷新控件--PullToRefresh的简单使用

Android中很多时候都会用到上下拉刷新,这是一个很常用的功能,Android的v4包中也为我们提供了一种原生的下拉刷新控件--SwipeRefreshLayout,可以用它实现一个简洁的刷新效果,但今天我们的主角并不是它,而是一个很火的第三方的上下拉刷新控件--PullToRefresh.PullToRefresh包括PullToRefreshScrollView.PullToRefreshListView.PullToRefreshGridView等等很多为我们提供的控件,我们可以在xml

解决下拉刷新控件和ScrollVIew的滑动冲突问题。

最近项目要实现ScrollView中嵌套广告轮播图+RecyleView卡片布局,并且RecyleView按照header和内容的排列样式,因为RecyleView的可扩展性很强,所以我毫无疑问的选择了它,而且让RecyleView实现了可拖拽的效果, 最后我再加上了下拉刷新的效果(这里我用的下拉刷新控件是三方的SmartRefreshLayout).记得刚开始实现这个效果的时候还是十分的得心印手.可是当我测试的时候,发现RecyleView的子item的拖拽效果并不流畅,起初我以 为是由于Re

android下拉刷新控件之第三方开源控件的使用实现

本次使用的第三方下拉刷新控件是:Android-Pull-Refresh,下载地址:https://github.com/chrisbanes/Android-PullToRefresh 该控件适用于: ViewPager HorizontalScrollView ScrollView WebView GridView ListView ExpandableListView ListFragment 从github上下载解压后,将library,PullToRefreshListFragment

所闻所获3:下拉刷新控件1

本文主要是讨论在最近项目中遇到的一个下拉刷新控件,这个控件的效果如下图: 在这里会用两篇博文的篇幅来解析这个控件,第一篇解析控件的框架,第二篇解析动画.源代码可以在下面的链接下载: TestPullToRefresh.zip 1.这个控件由以下几个文件组成:GMPullToAction.CircleProgressView.GMActivityView,其中GMPullToAction文件包含两个类:GMPullToRefresh和UIScrollView (GMPullToAction),Ci

自定义下拉刷新控件

一.功能效果 1.在很多app中,在信息展示页面,当我们向下拖拽时,页面会加载最新的数据,并有一个短暂的提示控件出现,有些会有加载进度条,有些会记录加载日期.条目,有些还带有加载动画.其基本实现原理都相仿,本文中将探讨其实现原理,并封装出一个简单的下拉刷新控件 2.自定义刷新工具简单的示例 二.系统提供的下拉刷新工具 1.iOS6.0以后系统提供了自己的下拉刷新的控件:UIRefreshControl .例如,refreshControl,作为UITableViewController中的一个属

[Android]下拉刷新控件RefreshableView的实现

需求:自定义一个ViewGroup,实现可以下拉刷新的功能.下拉一定距离后(下拉时显示的界面可以自定义任何复杂的界面)释放手指可以回调刷新的功能,用户处理完刷新的内容后,可以调用方法onCompleteRefresh()通知刷新完毕,然后回归正常状态.效果如下:     源代码:RefreshableView(https://github.com/wangjiegulu/RefreshableView) 分析: 我们的目的是不管什么控件,只要在xml中外面包一层标签,那这个标签下面的所有子标签所

iOS:下拉刷新控件UIRefreshControl的详解

下拉刷新控件:UIRefreshControl 1.具体类信息: @interface UIRefreshControl : UIControl //继承控制类 - (instancetype)init; @property (nonatomic, readonly, getter=isRefreshing) BOOL refreshing; //是否可以刷新 @property (nonatomic, retain) UIColor *tintColor; //控件颜色 @property (

Android下拉刷新控件SwipeRefreshLayout源码浅析

SwipeRefreshLayout是Android官方的下拉刷新控件,使用简单,界面美观,不熟悉的朋友可以随便搜索了解一下,这里就不废话了,直接进入正题. 这种下拉刷新控件的原理不难,基本就是监听手指的运动,获取手指的坐标,通过计算判断出是哪种操作,然后就是回调相应的接口了.SwipeRefreshLayout是继承自ViewGroup的,根据Android的事件分发机制,触摸事件应该是先传递到ViewGroup,根据onInterceptTouchEvent的返回值决定是否拦截事件的,那么就