700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Android下拉刷新组件—SwipeRefreshLayout

Android下拉刷新组件—SwipeRefreshLayout

时间:2019-08-01 03:28:40

相关推荐

Android下拉刷新组件—SwipeRefreshLayout

介绍

一个功能强大的自定义下拉刷新组件。

SwipeRefreshLayout也是一种下拉刷新控件,不同的它的刷新状态效果和传统的PuulToRefresh完全不一样。

SwipeRefreshLayout 是谷歌公司推出的用于下拉刷新的控件,SwipeRefreshLayout已经被放到了sdk中,在Version 19.1之后SwipeRefreshLayout 被放到support v4中。

方法API

setOnRefreshListener(OnRefreshListener):添加下拉刷新监听器

setRefreshing(boolean):显示或者隐藏刷新进度条

isRefreshing():检查是否处于刷新状态

setColorSchemeResources():设置进度条的颜色主题,最多设置四种,以前的setColorScheme()方法已经弃用了。

简单使用

1.SwipeRefreshLayout本身自带下拉刷新的效果,那么我们可以选择在RecyclerView布局外部嵌套一层SwipeRefreshLayout布局即可,具体布局文件如下:

<?xmlversionxmlversion="1.0" encoding="utf-8"?> <LinearLayoutxmlns:androidLinearLayoutxmlns:android="/apk/res/android" android:orientation="vertical"android:layout_width="match_parent" android:layout_height="match_parent"> <includelayoutincludelayout="@layout/common_top_bar_layout"/> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/demo_swiperefreshlayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="vertical" > <android.support.v7.widget.RecyclerView android:id="@+id/demo_recycler" android:layout_width="fill_parent" android:layout_height="fill_parent" ></android.support.v7.widget.RecyclerView> </android.support.v4.widget.SwipeRefreshLayout> </LinearLayout>

2.接着在Activity中获取SwipeRefreshLayout控件并且设置OnRefreshListener监听器,同时实现里边的onRefresh()方法,在该方法中进行网络请求最新数据,然后刷新RecyclerView列表同时设置SwipeRefreshLayout的进度Bar的隐藏或者显示效果。具体代码如下:

demo_swiperefreshlayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { Log.d("zttjiangqq","invoke onRefresh..."); new Handler().postDelayed(newRunnable() { @Override public void run() { List<String> newDatas = new ArrayList<String>(); for (int i = 0; i <5; i++) { int index = i + 1; newDatas.add("new item" + index); } adapter.addItem(newDatas); demo_swiperefreshlayout.setRefreshing(false); Toast.makeText(RecyclerRefreshActivity.this, "更新了五条数据...", Toast.LENGTH_SHORT).show();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。