swipeRefreshLayout

今天给大家介绍一个官方的下拉刷新控件SwipeRefreshLayout,个人感觉谷歌提供的这个控件很好看,当然仁者见仁,我是见惯了传统的下拉刷新,这个反而给人耳目一新的感觉(现在用这样效果的应用比如说知乎,还有外国的app pocket都挺好看的)。

当然今天是给大家讲解下这个东西怎么做出来,跟我来吧~~


Google在官方网站给出了V4的兼容包:


ok,看看android官方网站:

原谅我的耿直,直接pu网☞

https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html


当然给配个截图


可以看出,这个类在v4包下就有,那么是不是很方便呀,哈哈。至于红框的部分,是我特意画出来的,目的是警告大家,这个东西使用是有限制的。

啥限制呀:就是这句英语的翻译

This layout should be made the parent of the view that will be refreshed as a result of the gesture and can only support one direct child. 

这个swipeRefreshLayout控件只能用于包裹  一个有手势刷新效果的控件,记住 只能包围一个。那我们想想,貌似只有四个东西符合这个要求呀,啥呀?

listview  gridview  scrollview  recyclerView,额 额 想的太多了

 好吧,废话不多说了,来开始撸起代码吧。

先看布局吧~

就是用这个swipeRefreshLayout里面套了个scrollview。然后我就作死的运行了一下,请看

然后这个圈一直在哪里转呀转的,不停,说明我们现在只是把一个这样的控件加到布局里面了,还没有写逻辑去处理。

那我们就再来看看这个SwipeRefreshLayout他内部定义了那些方法?

还是看developer.android.com

首先看到一个接口,这个接口是他下边的一个接口,看着名字不难想象出来,这个接口是做刷新处理的。


然后其实这里还有几个方法需要知道,比如说


 其中第一个第二个是设置颜色的规格 ,里面可以传多个参数,下边这个设置当前这个空间状态是否改变。


总体来说实现功能最核心的方法是 上图中的setOnRefreshListener 好现在走mainActivity代码




逻辑很多简单,里面有注释 看看就行了


看看效果



很可惜,由于我使用的是最新的v4包 所以 现在的效果是这样的,如果我们想实现好几种颜色的那个,可以到一个低的v4包,显示的效果是这样的,注意 ,这里圆圈的颜色只显示我们设置的第一个颜色。






你可能感兴趣的:(swipeRefreshLayout)