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 | 设置 |
setLoadView | 设置 |
setLoadEnable | 设置 |
setAutoLoad | 设置 |
setListViewScrollListener | 设置ListView |
setPullToRefreshHeight | 设置 |
setLoadToRefreshHeight | 设置 |
setRefreshHeight | 设置 |
setLoadHeight | 设置 |
setIsCanSecondFloor | 设置 |
setSecondFloorView | 设置 |
isSecondFloor | |
setBackToFirstFloor | |
setPullToSecondFloorHeight | 设置 |
setRefreshView
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();
}
查看
public interface Refresh {
/**
* 手指 拖动中
*
* @param height 显示出来 的 区域 高度
* @param refreshHeight 下 拉 到 触 发刷新 位置 的 显示区域 高度
* @param totalHeight 总的显示区域 高度
*/
void setHeight(float height, float refreshHeight, float totalHeight);
/**
* 触 发刷新
*/
void setRefresh();
/**
* 下 拉 刷新
*/
void setPullToRefresh();
/**
* 释放即 可 刷新
*/
void setRefeaseToRefresh();
}
qRefreshLayout.setIsCanSecondFloor(true);
qRefreshLayout.setSecondFloorView(view);