自materialdesign出世以来 ,很受开发者的欢迎,对于 它的默认刷新控件应用非常广泛,我们用的网易云音乐 知乎 钉钉之类的都是用改控件,非常简洁方便。
使用步骤: 第一步依赖materialrefresh 库 : compile 'com.cjj.materialrefeshlayout:library:1.3.0' 这个库在github上面地址为https://github.com/dingdingyr/Android-MaterialRefreshLayout-
第二步 写布局
<com.cjj.MaterialRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/refresh"
app:overlay="true"
app:isLoadMore="true"
app:progress_size_type="normal"
app:wave_color="#90ffffff"
app:wave_show="true"
app:progress_colors="@array/material_colors"
app:wave_height_type="normal"
>
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</com.cjj.MaterialRefreshLayout>
我们加入这个库之后,里面嵌套recycleview或listview等都可以。
第三步:执行刷新和加载的事件
materialRefreshLayout = (MaterialRefreshLayout) findViewById(R.id.refresh);
materialRefreshLayout.setMaterialRefreshListener(new MaterialRefreshListener() {
@Override
public void onRefresh(final MaterialRefreshLayout materialRefreshLayout) {
materialRefreshLayout.postDelayed(new Runnable() {
@Override
public void run() {
materialRefreshLayout.finishRefresh();
}
}, 3000);
}
@Override
public void onfinish() {
Toast.makeText(LoadMoreActivity.this, "finish", Toast.LENGTH_LONG).show();
}
@Override
public void onRefreshLoadMore(final MaterialRefreshLayout materialRefreshLayout) {
Toast.makeText(LoadMoreActivity.this, "load more", Toast.LENGTH_LONG).show();
materialRefreshLayout.postDelayed(new Runnable() {
@Override
public void run() {
materialRefreshLayout.finishRefreshLoadMore();
}
}, 3000);
}
});
以上完成一个上拉加载下拉刷新的事件 ,如果需要不同效果可以将库下载下拉进行修改控件的风格。