上拉加载下拉刷新
老方法,先上效果图:
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 }
转载于//www.cnblogs.com/Mr-Deng/p/11586105.html
还没有评论,来说两句吧...