SwipeRefreshLayout基本用法

  1. 布局文件引入控件(SwipeRefreshLayout是一个ViewGroup,内部一般放RecyclerView之类的控件)

    ```
        <android.support.v4.widget.SwipeRefreshLayout
                android:id="@+id/swipeRefreshLayout"
                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.support.v4.widget.SwipeRefreshLayout>
    ```
    
  2. 代码中

            SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
    
             //★1.设置刷新时动画的颜色,可以设置4个
            swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_light,
                    android.R.color.holo_red_light, android.R.color.holo_orange_light,
                    android.R.color.holo_green_light);
    
            //★2.设置刷新监听事件
            swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
                @Override
                public void onRefresh() {
                    handler.sendEmptyMessageDelayed(REFRESH_COMPLETE, 2000);
                }
            });
    
    
            private Handler handler = new Handler() {
                @Override
                public void handleMessage(Message msg) {
                    super.handleMessage(msg);
                    switch (msg.what) {
                        case REFRESH_COMPLETE:
                            urls.removeAll(urls);
                            urls.add(url11);
                            urls.add(url12);
                            urls.add(url13);
                            urls.add(url14);
                            urls.add(url15);
                            urls.add(url16);
                            urls.add(url17);
                            urls.add(url18);
                            urls.add(url19);
                            urls.add(url20);
                            //★3.通知recycleView改变了数据
                            myAdapter.notifyDataSetChanged();
                            //★4.记得关闭刷新,否则刷新球一直在转
                            swipeRefreshLayout.setRefreshing(false);
                            break;
                    }
                }
            };
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SwipeRefreshLayout是一个Android支持库中的控件,用于实现下拉刷新的功能。它可以包裹其他的View或者布局,并且可以通过下拉手势触发刷新操作。 要使用SwipeRefreshLayout,首先需要在项目的build.gradle文件中添加依赖项: implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' 然后,在布局文件中添加SwipeRefreshLayout控件,并设置它的属性和子控件,例如: <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 在这里添加你的子控件或布局 --> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> 接下来,在Java代码中找到该控件的实例,并设置监听器,以响应下拉刷新事件: SwipeRefreshLayout swipeRefreshLayout = findViewById(R.id.swipe_refresh_layout); swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { // 在这里执行刷新操作 // 刷新完成后,调用setRefreshing(false)停止刷新动画 swipeRefreshLayout.setRefreshing(false); } }); 当用户下拉SwipeRefreshLayout时,会自动触发onRefresh()方法,并开始显示刷新动画。在这个方法中,可以执行需要的刷新操作,例如更新数据、重新加载等。刷新完成后,可以调用setRefreshing(false)方法停止刷新动画。 此外,还可以通过setProgressBackgroundColorSchemeResource()和setColorSchemeResources()方法设置刷新进度条的背景色和颜色。例如: swipeRefreshLayout.setProgressBackgroundColorSchemeResource(R.color.colorPrimary); swipeRefreshLayout.setColorSchemeResources(R.color.colorAccent, R.color.colorPrimaryDark); 这就是SwipeRefreshLayout基本用法。通过简单的设置,就可以实现下拉刷新的功能,提升用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值