(Translated by https://www.hiragana.jp/)
GitHub - zhangxq/QRefreshLayout: 下拉刷新,上拉加载更多,自动加载更多,用法同SwipeRefreshLayout,兼容所有view,兼容nested滚动,可以自定义header footer,支持下拉到二楼
Skip to content

したひしげ刷新さっしんうえひしげ载更动加载更用法ようほうどうSwipeRefreshLayout,けんよう所有しょゆうview,けんようnested滚动,以自てい义header footer,支持しじひしげいたろう

License

Notifications You must be signed in to change notification settings

zhangxq/QRefreshLayout

Repository files navigation

QRefreshLayout

したひしげ刷新さっしんうえひしげ载更动加载更用法ようほうどうSwipeRefreshLayout,けんよう所有しょゆうview,けんようnested滚动,以自てい刷新さっしん动画,支持しじひしげいたろう

不定期ふていき更新こうしん大家だいけゆう什么そうてきこうのう见可以在issuesさと提出ていしゅつらいわがかい尽力じんりょく而为。

效果こうか展示てんじ

下拉刷新和加载更多 与Nested滚动兼容效果 下拉到二楼

使用しよう方式ほうしき

allprojects {
  repositories {
    ...
    maven { url 'https://jitpack.io' }
  }
}
dependencies {
  implementation 'com.github.zhangxq:QRefreshLayout:1.0.8'
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.zhangxq.refreshlayout.QRefreshLayout
        android:id="@+id/refreshLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </com.zhangxq.refreshlayout.RefreshLayout>
</LinearLayout>
refreshLayout.setOnRefreshListener(this);
refreshLayout.setOnLoadListener(this);

せっこう说明

名称めいしょう こうのう
setOnRefreshListener 设置ひしげ刷新さっしん监听
setOnLoadListener 设置载更监听
setRefreshing 开或しゃ关闭ひしげ刷新さっしん动画
setLoading 开或关闭载更动画
setColorSchemeResources setColorSchemeColors 设置だま认下ひしげ刷新さっしん进度けん颜色
setProgressBackgroundColorSchemeResource setProgressBackgroundColorSchemeResource 设置だま认下ひしげ刷新さっしん进度けん背景はいけい颜色
setRefreshView 设置ひしげ刷新さっしんview
setLoadView 设置载更view
setLoadEnable 设置载更开关, setOnLoadListener调用きさきだま认开启
setAutoLoad 设置动加载更开关,setOnLoadListener调用きさきだま认开启
setListViewScrollListener 设置ListViewてき滚动监听ゆかり于需よう做自动加さらおお所以ゆえんうらないようりょう监听ざい这里かい调回らい
setPullToRefreshHeight 设置ひしげいた"释放そく更新こうしん"てき高度こうどだま认170px)
setLoadToRefreshHeight 设置じょうひしげいた"释放そく载更"てき高度こうどだま认170px)
setRefreshHeight 设置ひしげ刷新さっしん动画高度こうどだま认150px,需要じゅようざいsetRefreshingぜん调用)
setLoadHeight 设置载更动画高度こうどだま认110px)
setIsCanSecondFloor 设置いや以到达二ろう
setSecondFloorView 设置ろうview,仅限于使用しようだま认headerてきじょう
isSecondFloor とうぜんいやざいろう
setBackToFirstFloor かいいたいちろう
setPullToSecondFloorHeight 设置ひしげいた"释放いた达二ろう"てき高度こうどだま认500px)

てい义headerfooter

setRefreshView setLoadView 两个方法ほうほうよう于接收用しゅうよう户自てい义的headerfooter,setRefreshView接收せっしゅう一个继承自RefreshViewてきview,setLoadView接收せっしゅう一个继承自LoadViewてきview,RefreshViewLoadViewてき别只RefreshViewLoadViewりょう三个二楼相关的虚方法,所以ゆえんわが们只よういちRefreshViewてきげん码:

import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.Gravity;
import android.widget.RelativeLayout;

import com.zhangxq.refreshlayout.defaultview.Refresh;

/**
 * Created by zhangxiaoqi on 2019/4/22.
 */

public abstract class RefreshView extends RelativeLayout implements Refresh {
    public RefreshView(Context context) {
        this(context, null);
    }

    public RefreshView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        setGravity(Gravity.CENTER);
    }

    /**
     * 释放そくいた达二ろう
     */
    public abstract void setReleaseToSecondFloor();

    /**
     * 展示てんじろう
     */
    public abstract void setToSecondFloor();

    /**
     * かいいたいちろう
     */
    public abstract void setToFirstFloor();
}

查看方法ほうほうてきちゅう释,就可以明しろ对应てきこうのう。 RefreshViewLoadView实现りょういち个Refreshせっこうだい码如

public interface Refresh {
    /**
     * 手指しゅし拖动ちゅう
     *
     * @param height        显示出来できてき区域くいき高度こうど
     * @param refreshHeight ひしげいたさわ发刷しん位置いちてき显示区域くいき高度こうど
     * @param totalHeight   总的显示区域くいき高度こうど
     */
    void setHeight(float height, float refreshHeight, float totalHeight);

    /**
     * さわ刷新さっしん
     */
    void setRefresh();

    /**
     * したひしげ刷新さっしん
     */
    void setPullToRefresh();

    /**
     * 释放そく刷新さっしん
     */
    void setRefeaseToRefresh();
}

以看いたせっこう提供ていきょうりょうさん个回调方ほう,对应与ひしげあるうえひしげ过程ちゅう常用じょうようてきさん个时间点,还有いち个setHeight方法ほうほう提供ていきょうりょう手指しゅし拖动てき距离,方便ほうべんよう户处拖动动画。 继承RefreshViewあるものLoadViewくつがえ盖这よん个方ほう,就可以方便びんとく实现自己じこそうようてき动画效果こうか

したひしげいたろうこうのう

使用しようだま认headerじょう况下,如下两行そく实现ひしげいたろうてきこうのうだいぎょうてきまいりすうview就是你想よう展示てんじてきろうぬのきょくview。

qRefreshLayout.setIsCanSecondFloor(true);
qRefreshLayout.setSecondFloorView(view);

使用しようてい义header,则可以去掉第ぎょうしかきさき使用しようてい义headerちゅうてきさん个回调方ほう,实现自己じこてきろう效果こうか

About

したひしげ刷新さっしんうえひしげ载更动加载更用法ようほうどうSwipeRefreshLayout,けんよう所有しょゆうview,けんようnested滚动,以自てい义header footer,支持しじひしげいたろう

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages