SuperEasyRefreshLayout的使用介绍
来源:互联网 发布:udp广播 会堵塞网络吗 编辑:程序博客网 时间:2024/06/04 20:00
一,概述
SuperEasyRefreshLayout是一个功能强大且易与使用的下拉刷新控件,参照Google提供的SwipeRefreshLayout的原理实现。源码见GitHub:SuperEasyRefreshLayout
SuperEasyRefreshLayout本质是一个容器,将可以滑动的View放入容器中即可实现下拉刷新和上拉加载更多的功能。支持的子view有:ListView,RecyclerView,GridView,ScrollView。
二,框架诞生的机缘
在Android开发中,有很多场合需要使用下拉刷新和上拉加载更多的功能,实现这个功能有两种使用广泛的途径,一种是使用网上开源的PulltoRefreshListView框架,另外一种使用Google的提供的SwipeRefreshLayout。但是在使用的过程中二者都有缺点。
PulltoRefreshListView的缺点:PulltoRefreshListView底层封装的是Listview,所以此时只能使用Listview的功能,而不能使用强大的RecyclerView。
SwipeRefreshLayout的缺点:SwipeRefreshLayout是Google提供,其实现思想很好,刷新View与展示内容的View实现了分离。但是其刷新UI却不敢让人恭维,入不了公司设计师的法眼。
综合以上两点,开始着手实现样式即美观,又能将刷新的View与展示内容的View分离,既能使用Listview又能使用RecyclerView。SuperEasyRefreshLayout就在这种机缘下应运而生。
三,使用方法
SuperEasyRefreshLayout使用很简单,类似于Google提供的SwipeRefreshLayout,但比起功能强大了很多,将可以滑动的View放入容器中即可实现下拉刷新和上拉加载更多的功能。支持的view有:ListView,RecyclerView,GridView,ScrollView。下面以ListView为例说明使用方法。
1,布局文件中
<com.honor.fighting.supereasyrefreshlayout.view.SuperEasyRefreshLayout android:id="@+id/swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent" /></com.honor.fighting.supereasyrefreshlayout.view.SuperEasyRefreshLayout>
2,在activity中
首先找到SuperEasyRefreshLayout对象:
swipe_refresh_layout = (SuperEasyRefreshLayout) findViewById(R.id.swipe_refresh_layout);
然后设置刷新监听器:
swipe_refresh_layout.setOnRefreshListener(new SuperEasyRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { swipe_refresh_layout.setRefreshing(false); Toast.makeText(ListViewActivity.this,"刷新 成功",Toast.LENGTH_SHORT).show(); } },2000); }});
设置加载更多监听器:
swipe_refresh_layout.setOnLoadMoreListener(new SuperEasyRefreshLayout.OnLoadMoreListener() { @Override public void onLoad() { new Handler().postDelayed(new Runnable() { @Override public void run() { swipe_refresh_layout.finishLoadMore(); Toast.makeText(ListViewActivity.this,"加载更多成功",Toast.LENGTH_SHORT).show(); } },2000); }});
是不是发现使用特别方便。重要的是实现的效果特别的好,如下:
1,ListView和RecyclerView下拉刷新效果
2,ListView和RecyclerView上拉加载更多效果
3,ScrollView下拉刷新效果
4,GridView下拉刷新效果
四,下载源码
SuperEasyRefreshLayout源码已经上传到了GitHub上,地址是:https://github.com/guozhengXia/SuperEasyRefreshLayout。感兴趣的朋友欢迎交流学习。
- SuperEasyRefreshLayout的使用介绍
- Ghost的使用介绍
- CToolBar的使用介绍
- extern 的使用介绍
- timer的使用介绍
- 框架的使用介绍
- HttpWatch的使用介绍
- HttpWatch的使用介绍
- httpWatch的使用介绍
- httpwatch的使用介绍
- httpwatch的使用介绍
- httpWatch的使用介绍
- httpwatch的使用介绍
- HttpWatch的使用介绍
- httpwatch的使用介绍
- 介绍NSLog的使用
- ListActivity的使用介绍
- CToolBar的使用介绍
- spring boot添加mongo-java驱动包之后报错的原因
- 70 linux网络设备驱动之虚拟网卡及arp应答的实现
- mongoose基本配置
- JS中字符串的长度计算、字符串截取
- 编辑距离 -LintCode
- SuperEasyRefreshLayout的使用介绍
- SpringBoot+SpringSecurityOAuth2.0 实现SSO单点登录(一)--客户端
- android应用签名
- java.lang.NoSuchMethodException:
- 【C#语言基础】重写和覆盖
- SpringBoot整合MyBatis
- 牛客网---2016---美团拜访
- 第二章:2.1 在windows下安装Django
- 设计模式原则(2):里氏替换原则