🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[SmartRefreshLayout ](https://github.com/scwang90/SmartRefreshLayout) ## 特点功能: - 支持多点触摸 - 支持嵌套多层的视图结构 Layout (LinearLayout,FrameLayout...) - 支持所有的 View(AbsListView、RecyclerView、WebView....View) - 支持自定义并且已经集成了很多炫酷的 Header 和 Footer. - 支持和ListView的无缝同步滚动 和 CoordinatorLayout 的嵌套滚动 . - 支持自动刷新、自动上拉加载(自动检测列表惯性滚动到底部,而不用手动上拉). - 支持自定义回弹动画的插值器,实现各种炫酷的动画效果. - 支持设置主题来适配任何场景的App,不会出现炫酷但很尴尬的情况. - 支持设多种滑动方式:平移、拉伸、背后固定、顶层固定、全屏 - 支持所有可滚动视图的越界回弹 ## 使用: 1. 声明: ~~~ private RefreshLayout refreshLayout; ~~~ 2. 布局xml: ~~~ <com.scwang.smartrefresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/refreshLayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.canyou.redmine.ui.fragment.ProjectsFragment"> <android.support.v7.widget.RecyclerView android:id="@+id/rv_projects" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/darker_gray" /> </com.scwang.smartrefresh.layout.SmartRefreshLayout> ~~~ 3. 绑定: ~~~ refreshLayout = view.findViewById(R.id.refreshLayout); ~~~ 4. 下拉刷新: ~~~ refreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh(RefreshLayout refreshlayout) { pageIndex = 0; getProjects(pageIndex, pageSize); } }); ~~~ 5. 上拉加载更多: ~~~ refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() { @Override public void onLoadmore(RefreshLayout refreshlayout) { pageIndex++; getProjects(pageIndex, pageSize); } }); ~~~ 6. 开始刷新: ~~~ refreshLayout.autoRefresh(); ~~~ 7. 结束刷新: ~~~ refreshLayout.finishRefresh(); refreshLayout.finishLoadmore(true); ~~~