• Android学习之两款下拉刷新库分享


    昨天没有写博客。心里非常罪过呀,今天给大家写两种比較常见的下拉刷新的用法。一款是SwipeRefreshLayout,一款是CircleRefreshLayout。

    SwipeRefreshLayout的用法

    贴下布局:

        <android.support.v4.widget.SwipeRefreshLayout
            android:id="@+id/laySwipeRefresh"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
            <com.example.boao.widget.AutoRecyclerView
                android:id="@+id/recyclerView"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
        </android.support.v4.widget.SwipeRefreshLayout>

    能够看到SwipeRefreshLayout是基于v4包,那就表面这是谷歌官方在推荐使用的,仅仅要加入了v4包即可了

    简单的布局设置,就是用SwipeRefreshLayout包括RecyclerView,ListView,GridView都能够的。

    如今我们看看在代码中怎么使用的吧

    swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
                @Override
                public void onRefresh() {
    
                    getDatas();
                }
            });

    实例化SwipeRefreshLayout我就不谈了,调用SwipeRefreshLayout的setOnRefreshListener方法,监听载入事件,在onRefresh() 方法中调用请求数据的方法,来刷新数据

    当然这还没有完,由于还没设置刷新的结束

    在请求数据成功之后调用swipeRefreshLayout.setRefreshing(false);方法,设置不刷新,即可了。

    SwipeRefreshLayout刷新的效果展示

    这里写图片描写叙述

    SwipeRefreshLayout包括的方法远远不至于此。在贴上SwipeRefreshLayout包括的方法

    这里写图片描写叙述

    从上往下依次是:
    1.设置刷新圆圈的大小
    2.设置是否刷新
    3.设置刷新的背景色
    4.同上
    5.设置触发刷新的下拉距离
    6.设置刷新的背景颜色

    好啦。SwipeRefreshLayout就介绍到这。

    下一步介绍CircleRefreshLayout

    这是一个第三方库https://github.com/tuesda/CircleRefreshLayout,用法相似swipeRefreshLayout,

    贴上效果图,看大家想不想用

    这里写图片描写叙述

    用法

    <com.tuesda.walker.circlerefresh.CircleRefreshLayout
            xmlns:app="http://schemas.android.com/apk/res-auto"
            app:AniBackColor="#ff8b90af"
            app:AniForeColor="#ffffffff"
            app:CircleSmaller="6"
            android:id="@+id/refresh_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <ListView
                android:background="#ffffffff"
                android:id="@+id/list"
                android:layout_width="match_parent"
                android:layout_height="match_parent"></ListView>
        </com.tuesda.walker.circlerefresh.CircleRefreshLayout>

    通第一款一样,都是包括列表布局

    mRefreshLayout.setOnRefreshListener(
                    new CircleRefreshLayout.OnCircleRefreshListener() {
                @Override
                public void refreshing() {
                    // do something when refresh starts
                }
    
                @Override
                public void completeRefresh() {
                    // do something when refresh complete
                }
            });

    在refreshing()方法中调用请求数据方法。completeRefresh()不用做什么操作。在请求接口成功后

    调用mRefreshLayout.finishRefreshing();来停止刷新,跟swipeRefreshLayout全然一样

    遗憾的是这个库没有设置加入依赖的方法,不能直接加入依赖来用,所以要用的话须要集成到项目中

    以下来看我的集成结构图

    这里写图片描写叙述

    将源代码下载下来,集成也非常easy,大家试试吧,今天的学习就到这咯

  • 相关阅读:
    sql之Replace
    虚拟主机的IIS连接数和访问流量限制各是什么
    SQL COUNT() 函数
    bzoj3163 Eden的新背包问题
    THUPC2018 城市地铁规划
    HNOI 2017 礼物
    NOI 模拟赛
    PKUSC2018 Slay The Spire
    NOI 模拟赛
    NOI 模拟赛
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/7306179.html
Copyright © 2020-2023  润新知