下拉刷新 SwipeRefreshLayout

把想要实现下拉刷新的控件放在SwipeRefreshLayout中,就可以直接支持下拉刷新

 <android.support.v4.widget.SwipeRefreshLayout
            android:id="@+id/swipe_refresh"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

            <android.support.v7.widget.RecyclerView
                android:id="@+id/recycler_view"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />

        </android.support.v4.widget.SwipeRefreshLayout>

虽然控件已经支持下拉刷新了,但是还要去处理具体逻辑

//下拉刷新
         SwipeRefreshLayout mSwipeRefreshLayout;      找到SwipeRefreshLayout 布局
        mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh);      设置进度条的颜色
        mSwipeRefreshLayout.setColorSchemeResources(R.color.colorPrimary);      设置下拉刷新的监听事件。
        mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                refreshFruits();
            }
        });
private void refreshFruits() {    new Thread(new Runnable() {        @Override        public void run() {            try {                Thread.sleep(2000);让线程休眠两秒因为本地刷新太快,用户感觉不到            } catch (InterruptedException e) {                e.printStackTrace();            }      在主线程中改变数据            runOnUiThread(new Runnable() {                @Override                public void run() {                    initFruits();//生成新的数据                    adpapter.notifyDataSetChanged();//通知数据刷新                    mSwipeRefreshLayout.setRefreshing(false);//刷新结束,并且隐藏刷新进度条                }            });        }    }).start();}
 
时间: 2024-10-26 21:50:40

下拉刷新 SwipeRefreshLayout的相关文章

安卓自带下拉刷新SwipeRefreshLayout添加上拉刷新功能

在项目里面要用到刷新库,以前都是使用第三方的,不过看到官方出了  SwipeRefreshLayout之后就用SwipeRefreshLayout,但是不知道什么原因官方SwipeRefreshLayout只提供下拉刷新功能,很多时候我们需要上拉刷新功能,所以下载v4源码修改SwipeRefreshLayout,与之相关联的文件有两个分别是SwipeProgressBar,BakedBezierInterpolator把这三个文件拷贝到项目里面,修改一下包名就可以了.如何实现上拉刷新功能,其

Android -- 官方下拉刷新SwipeRefreshLayout

V4的兼容包 API 大概就这4个常用的方法. code 布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="matc

Android原生下拉刷新SwipeRefreshLayout实践

本篇文章翻译自Ravi Tamada的Android Swipe Down to Refresh ListView Tutorial 首先来看一下效果图 你应该发现许多的android app例如Twitter,Google+都提供了一个下拉刷新数据的功能,只要用户从上往下滑动,新的内容就会加载出来,这篇文章我们将学习如何开发出同样的功能. 1.Android SwipeRefreshLayout 实现SwipeRefreshLayout非常容易,我们将SwipeRefreshLayout作为根

Android下拉刷新-SwipeRefreshLayout

现在市面上新闻类的App基本上都有下拉刷新,算是一个标配吧,网上关于下拉刷新的博客也有很多,实现方式可以使用开源的PullToRefresh,自定义ListView,或者可以直接使用LineLayOut直接搞定的.不过Google在今年在support v4 19.1版本的library推出了SwipeRefreshLayout,字面上的意思就是下拉刷新,继承自ViewGroup,而如今google推出了更官方的下拉刷新组件,对于开发者而言无疑是一个好事情,比较少的代码实现需要的功能. 基本布局

简单的下拉刷新--SwipeRefreshLayout

代码工程简要说明:以一个SwipeRefreshLayout包裹ListView,SwipeRefreshLayout接管ListView的下拉事件,若ListView被用户触发下拉动作后,SwipeRefreshLayout启动下拉刷新的UI表现样式,下拉刷新完毕,在SwipeRefreshLayout提供的接口中回调更新ListView中的数据. activity_main.xml: 1 <RelativeLayout xmlns:android="http://schemas.and

android自带下拉刷新SwipeRefreshLayout

也是一个布局容器,只有一个子组件,类似scrollView <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent&qu

1、Android自己的下拉刷新SwipeRefreshLayout

1 <android.support.v4.widget.SwipeRefreshLayout 2 xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id="@+id/swipe_container" 4 android:layout_width="match_parent" 5 android:layout_height="match_par

Android --SwipeRefreshLayout 下拉刷新

1.Layout <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/id_swipe_ly" android:layout_width="match_parent" android:layout_height="match_parent" > <com.github.mikephil.charting.charts.LineChart android:i

【Android】使用 SwipeRefreshLayout 实现下拉刷新

今天在codepath 上看到一个开源项目 [点击查看]使用到了 SwipeRefreshLayout 实现了下拉刷新,但示例并不完整,于是自己就动手写了下.之前看到郭霖的博客上也有介绍下拉刷新,不过他是纯手动实现的,代码量大,较为繁琐.[点击查看]而使用Android 提供的SwipeRefreshLayout 则大大减少了我们的工作量,当然,学会了使用SwipeRefreshLayout之后还是建议去看看怎样不借助SwipeRefreshLayout从零开始实现"下拉刷新". Sw