android下拉刷新 您所在的位置:网站首页 swiperefreshlayout自动刷新 android下拉刷新

android下拉刷新

2023-07-15 18:57| 来源: 网络整理| 查看: 265

效果展示

效果展示

简介

SwipRefreshLayout是谷歌前一段时间推出的一款下拉刷新控件。

常用方法 方法解释setColorSchemeResources(int…colorReslds)设置下拉进度条的颜色主题,参数可变,并且是资源id,最多设置四种不同的颜色。setProgressBackgroundSchemeResource(int coloRes)设置下拉进度条的背景颜色,默认白色。isRefreshing()判断当前的状态是否是刷新状态。setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener)设置监听,需要重写onRefresh()方法,顶部下拉时会调用这个方法,在里面实现请求数据的逻辑,设置下拉进度条消失等等。setRefreshing(boolean refreshing)设置刷新状态,true表示正在刷新,false表示取消刷新  使用

第一步:首先在应用或模块的 build.gradle 文件中添加所需工件的依赖项

dependencies { implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" }

第二步:编写布局文件

注意:这一步中,SwipeRefreshLayout必须包裹一个元素,要不然会报如下错误:空指针异常

好了,到这一步你就可以看到下拉刷新的雏形了

API的使用

设置下拉刷新进度条颜色

package com.wust.myswiperefresh; import androidx.appcompat.app.AppCompatActivity; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import android.graphics.Color; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //第一步:找到 swipeRefresh 控件 SwipeRefreshLayout srl_my_refresh = findViewById(R.id.srl_my_refresh); //第二步,设置 下拉刷新时的颜色 srl_my_refresh.setColorSchemeColors(Color.parseColor("#ff0000"),Color.parseColor("#00ff00")); } }

设置下拉刷新背景色

package com.wust.myswiperefresh; import androidx.appcompat.app.AppCompatActivity; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import android.graphics.Color; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //第一步:找到 swipeRefresh 控件 SwipeRefreshLayout srl_my_refresh = findViewById(R.id.srl_my_refresh); //第二步,设置 下拉刷新时的颜色 srl_my_refresh.setColorSchemeColors(Color.parseColor("#ff0000"),Color.parseColor("#00ff00")); srl_my_refresh.setProgressBackgroundColorSchemeColor(Color.parseColor("#0000ff")); } }

 

监听下拉刷新

package com.wust.myswiperefresh; import androidx.appcompat.app.AppCompatActivity; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import android.graphics.Color; import android.os.Bundle; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //第一步:找到 swipeRefresh 控件 SwipeRefreshLayout srl_my_refresh = findViewById(R.id.srl_my_refresh); //第二步,设置 下拉刷新时的颜色 srl_my_refresh.setColorSchemeColors(Color.parseColor("#ff0000"),Color.parseColor("#00ff00")); srl_my_refresh.setProgressBackgroundColorSchemeColor(Color.parseColor("#0000ff")); //监听 刷新是回调 srl_my_refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { //判断是否在刷新 Toast.makeText(MainActivity.this,srl_my_refresh.isRefreshing()?"正在刷新":"刷新完成" ,Toast.LENGTH_SHORT).show(); srl_my_refresh.postDelayed(new Runnable() { @Override public void run() { //关闭刷新 srl_my_refresh.setRefreshing(false); } },3000); } }); } }

效果图

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有