SuperEasyRefreshLayout是一个功能强大且易与使用的下拉刷新控件,参照Google提供的SwipeRefreshLayout的原理实现
SuperEasyRefreshLayout本质是一个容器,将可以滑动的View放入容器中即可实现下拉刷新和上拉加载更多的功能。支持的子view有:ListView,RecyclerView,GridView,ScrollView。
SuperEasyRefreshLayout使用很简单,类似于Google提供的SwipeRefreshLayout,但比起功能强大了很多,将可以滑动的View放入容器中即可实现下拉刷新和上拉加载更多的功能。支持的view有:ListView,RecyclerView,GridView,ScrollView。下面以ListView为例说明使用方法。
<com.honor.fighting.supereasyrefreshlayout.view.SuperEasyRefreshLayout
android:id="@+id/swipe_refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.honor.fighting.supereasyrefreshlayout.view.SuperEasyRefreshLayout>
activity
swipe_refresh_layout = (SuperEasyRefreshLayout) findViewById(R.id.swipe_refresh_layout);
swipe_refresh_layout.setOnRefreshListener(new SuperEasyRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
swipe_refresh_layout.setRefreshing(false);
Toast.makeText(ListViewActivity.this,"刷新 成功",Toast.LENGTH_SHORT).show();
}
},2000);
}
});
swipe_refresh_layout.setOnLoadMoreListener(new SuperEasyRefreshLayout.OnLoadMoreListener() {
@Override
public void onLoad() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
swipe_refresh_layout.finishLoadMore();
Toast.makeText(ListViewActivity.this,"加载更多成功",Toast.LENGTH_SHORT).show();
}
},2000);
}
});
ListView和RecyclerView下拉刷新效果
ListView和RecyclerView上拉加载更多效果
ScrollView下拉刷新效果
GridView下拉刷新效果
源码