SwipeRefreshLayout感觉是Google在吸收了PullToRefresh-ListView,ActionBarPullToRefresh之后实现的google风格的刷新控件,那花花绿绿的穿越条,浓浓的google味。
迁移到Android studio后就必须使用AppCompat_v7 21+ ,切换了之后你就会发现一些有趣的变化,比如说这个SwipeRefreshLayout,就进化成了一个圆。
那么就来看下怎么使用SwipeRefreshLayout吧!
- 首先需要在布局里面声明:
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_refresh_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#E4E4E4">
</android.support.v4.widget.SwipeRefreshLayout>
- 然后需要在代码中初始化控件
swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_purple, android.R.color.holo_blue_bright, android.R.color.holo_orange_light,
android.R.color.holo_red_light);
swipeRefreshLayout.setOnRefreshListener(this);
这里圆圈设置几个替换显示的颜色,然后设置监听,实现implements SwipeRefreshLayout.OnRefreshListener接口的onRefresh方法
@Override
public void onRefresh() {
adapter.sync();
}
就这么多吗?是的,就怎么简单,再也不用忍受ActionBarPullToRefresh的三个依赖包,和在AppCompat_v7 21中兼容的问题。
下面再说一个问题,
android.support.v4.widget.SwipeRefreshLayout
可以不必使用在跟布局中,但是它内部的控件必须只有一个,而且要是可以滑动的,比如listview,Scrollview,如果遇到滑动异常可以参考下面的链接:
https://yassirh.com/2014/05/how-to-use-swiperefreshlayout-the-right-way/