博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
08 下拉刷新控件SwipeRefreshLayout介绍
阅读量:5941 次
发布时间:2019-06-19

本文共 1995 字,大约阅读时间需要 6 分钟。

###一、SwipeRefreshLayout的简介

以前我们都是使用XListView等流行框架实现下拉刷新以及上拉加载更多的,今天我介绍一个新的控件SwipeRefreshLayout,它是谷歌官方提供的一个新控件,同样可以实现下拉刷新。

SwipeRefreshLayout是V4支持包中提供的一个新的控件,它可以实现下拉刷新的功能。但是缺点是没有实现上拉加载更多。但是网上有很多开发者对它进行加强,使得它可以实现上拉加载。

SwipeRefreshLayout可以与ListView,RecycleView,GridView等列表控件配合使用,而且高度解耦,使用方便灵活,下拉刷新效果比较炫酷,因此赢得我们的青睐。

这是SwipeRefreshLayout的官方文档,注:这是国内的API镜像。

###二、SwipeRefreshLayout的基本使用

1、在Gradle中引入SwipeRefreshLayout的依赖库。

compile 'com.android.support:support-v4:23.1.1'复制代码

2、在布局文件当中放置我们的SwipeRefreshLayout。SwipeRefreshLayout里面也可以放置任意列表控件,通过这种方式可以实现SwipeRefreshLayout和列表之间的解耦。

复制代码

3、代码中的配置,详细看注释,不一一赘述。这个Demo是在CardView的基础上修改而来的。

refreshLayout = (SwipeRefreshLayout) findViewById(R.id.refreshLayout);//设置进度条的颜色,不定长参数可以设置多种颜色//对于RefreshLayout,网上有人说最多4种颜色,不要使用android.R.color.,否则会卡死refreshLayout.setColorSchemeColors(        Color.RED,        Color.YELLOW,        Color.GREEN);//设置进度条的背景颜色refreshLayout.setProgressBackgroundColorSchemeColor(Color.WHITE);//设置大小refreshLayout.setSize(SwipeRefreshLayout.LARGE);//设置手指划过多少像素开始触发刷新refreshLayout.setDistanceToTriggerSync(100);//设置刷新的时候监听,三秒钟之后添加数据完毕refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {    @Override    public void onRefresh() {        //模拟网络请求数据        new Handler().postDelayed(new Runnable() {            @Override            public void run() {                for (int i = 0; i < 30; i++) {                    //添加数据                    myAdapter.addData(i, "new data " + i);                    myAdapter.notifyItemRangeChanged(0, 30);                }                //recyclerView回到最上面                recyclerView.scrollToPosition(0);                //判断是否在刷新//                      refreshLayout.isRefreshing()                //刷新完毕,关闭下拉刷新的组件                refreshLayout.setRefreshing(false);            }        }, 3000);    }});复制代码

###三、运行效果

是不是觉得瞬间高大上有木有,大家快去敲码吧O(∩_∩)O~~。

如果觉得我的文字对你有所帮助的话,欢迎关注我的公众号:

我的群欢迎大家进来探讨各种技术与非技术的话题,有兴趣的朋友们加我私人微信huannan88,我拉你进群交(♂)流(♀)

转载地址:http://qfqtx.baihongyu.com/

你可能感兴趣的文章
asterisk配置
查看>>
GA操作步骤和技巧(二)——用户行为分析
查看>>
shell中while循环里使用ssh的注意事项
查看>>
SHELL获取计算机外网ip的几种写法
查看>>
博客正在搬迁中
查看>>
触发器与存储过程的区别
查看>>
我的友情链接
查看>>
centos搭建supervisor
查看>>
linux日志分割
查看>>
Samba再报安全漏洞
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Spring学习资料之 依赖注入(一)
查看>>
安装win7提示安装程序无法创建新的系统分区和定位现有系统分区
查看>>
快递查询接口的调用与解析案例
查看>>
我的友情链接
查看>>
服务器性能优化配置建议
查看>>
oracle sql语句实现累加、累减、累乘、累除
查看>>
SCNetworkReachabilityRef监测网络状态
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>