上拉加载下拉刷新
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
以上是关于上拉加载下拉刷新的主要内容,如果未能解决你的问题,请参考以下文章