上拉加载下拉刷新

Posted mr-deng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上拉加载下拉刷新相关的知识,希望对你有一定的参考价值。

老方法,先上效果图:

技术图片

1.加入下拉刷新 上拉加载的依赖

1 //下拉刷新 上拉加载
2 implementation com.scwang.smartrefresh:SmartRefreshLayout:1.0.4-7
3 implementation com.scwang.smartrefresh:SmartRefreshHeader:1.0.4-7

2.控件的布局文件代码,以下的LinearLayout是内容部分,直接替换即可。

 1 <com.scwang.smartrefresh.layout.SmartRefreshLayout
 2         android:id="@+id/srl_control"
 3         android:layout_width="match_parent"
 4         android:layout_height="match_parent"
 5         app:srlAccentColor="@color/colorTransparent"
 6         app:srlPrimaryColor="@color/colorTransparent"
 7         app:srlEnablePreviewInEditMode="true">
 8 
 9         <com.scwang.smartrefresh.layout.header.ClassicsHeader
10             android:layout_width="match_parent"
11             android:layout_height="wrap_content"/>
12 
13 
14         <LinearLayout
15             android:background="@color/colorTheme"
16             android:layout_width="match_parent"
17             android:layout_height="610dp"/>
18 
19         <com.scwang.smartrefresh.layout.footer.ClassicsFooter
20             android:layout_width="match_parent"
21             android:layout_height="wrap_content"/>
22 
23     </com.scwang.smartrefresh.layout.SmartRefreshLayout>

3.下拉和上拉的事件我封装在私有类中,直接在onCreate调用该类

 1 private void initSmartRefresh()
 2         //下拉刷新
 3         refreshLayout.setOnRefreshListener(new OnRefreshListener() 
 4             @Override
 5             public void onRefresh(RefreshLayout refreshlayout) 
 6                 refreshlayout.setEnableRefresh(true); //启用刷新
 7                 //刷新的事件逻辑
 8                 try 
 9                     Thread.sleep(3000);
10                     refreshlayout.finishRefresh();//结束刷新
11                  catch (InterruptedException e) 
12                     e.printStackTrace();
13                 
14             
15         );
16 
17         //上拉加载
18         refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() 
19             @Override
20             public void onLoadmore(RefreshLayout refreshlayout) 
21                 refreshlayout.setEnableLoadmore(true);//启用加载
22                 //加载的事件逻辑
23                 try 
24                     Thread.sleep(3000);
25                     refreshlayout.finishLoadmore(); //结束加载
26                  catch (InterruptedException e) 
27                     e.printStackTrace();
28                 
29             
30         );
31     

 

以上是关于上拉加载下拉刷新的主要内容,如果未能解决你的问题,请参考以下文章

RecyclerView下拉刷新上拉加载

ListView上拉加载和下拉刷新多种实现方式

上拉加载下拉刷新

20160220 下拉刷新 上拉加载

最详细的vue+vant的上拉加载,下拉刷新

小程序下拉刷新或上拉加载时背景色