贴个效果图

第二种方式:SwipeToLoadLayout实现上拉加载和下拉刷新
该刷新控件的方式类似于Ultra-pull-to-refresh的使用方式。
如下方式添加该库:
repositories {
maven { url "https://www.easck.com/pre>
首先我们需要自定义一个头视图和底部视图,头部试图和底部试图的用法相同,所以我们先定义一个头部视图类:
/**
* 基础的refreshHeadView
*/
public class RefreshHeaderView extends TextView implements SwipeRefreshTrigger, SwipeTrigger {
public RefreshHeaderView(Context context) {
super(context);
}
public RefreshHeaderView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public RefreshHeaderView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public RefreshHeaderView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
public void onRefresh() {
//下拉到一定位置松开之后,调用此方法
setText("refresh");
Log.i("info","onRefresh");
}
@Override
public void onPrepare() {
//下拉之前调用此方法
Log.i("info","onPrepare");
}
@Override
public void onMove(int yScrolled, boolean isComplete, boolean automatic) {
if (!isComplete) {
//当前Y轴偏移量大于控件高度时,标识下拉到界限,显示“松开已刷新”
if (yScrolled >= getHeight()) {
} else {
//未达到偏移量
}
}
Log.i("info","onMove");
}
@Override
public void onRelease() {
//达到一定滑动距离,松开刷新时调用
setText("onRelease");
Log.i("info","onRelease");
}
@Override
public void onComplete() {
//加载完成之后调用此方法
setText("complete");
Log.i("info","onComplete");
}
@Override
public void onReset() {
//重置
setText("onReset");
Log.i("info","onReset");
}
}










