SmartRefreshLayout以打造一个强大,稳定,成熟的下拉刷新框架为目标,并集成各种的炫酷、多样、实用、美观的Header和Footer。
正如名字所说,SmartRefreshLayout是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的View,还支持多层嵌套的视图结构。它继承自ViewGroup而不是FrameLayout或LinearLayout,提高了性能。也吸取了现在流行的各种刷新布局的优点,包括谷歌官方的 SwipeRefreshLayout,其他第三方的 Ultra-Pull-To-Refresh、TwinklingRefreshLayout 。还集成了各种炫酷的Header和Footer。
特点功能:支持多点触摸支持淘宝二楼和二级刷新支持嵌套多层的视图结构Layout(LinearLayout,FrameLayout...)支持所有的View(AbsListView、RecyclerView、WebView....View)支持自定义并且已经集成了很多炫酷的Header和Footer.支持和ListView的无缝同步滚动和CoordinatorLayout的嵌套滚动.支持自动刷新、自动上拉加载(自动检测列表惯性滚动到底部,而不用手动上拉).支持自定义回弹动画的插值器,实现各种炫酷的动画效果.支持设置主题来适配任何场景的App,不会出现炫酷但很尴尬的情况.支持设多种滑动方式:平移、拉伸、背后固定、顶层固定、全屏支持所有可滚动视图的越界回弹支持Header和Footer交换混用支持AndroidX支持横向刷新
简单用例
1.在buld.gradle中添加依赖
compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.1'compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.1'//如果使用了特殊的Header2.在XML布局文件中添加SmartRefreshLayout
<?xml version="1.0" encoding="utf-8"?><com.scwang.smartrefresh.layout.SmartRefreshLayout xmlns:android="https://schemas.android.com/apk/res/android" 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" android:overScrollMode="never" android:background="#fff" /></com.scwang.smartrefresh.layout.SmartRefreshLayout>3.在Activity或者Fragment中添加代码
RefreshLayout refreshLayout = (RefreshLayout)findViewById(R.id.refreshLayout);refreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh(RefreshLayout refreshlayout) { refreshlayout.finishRefresh(2000); }});refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() { @Override public void onLoadmore(SmartRefreshLayout refreshlayout) { refreshlayout.finishLoadmore(2000); }});
评论