android下拉刷新——swipeRefresh的使用

| setProgressBackgroundSchemeResource(int coloRes) | 设置下拉进度条的背景颜色,默认白色。 |

| isRefreshing() | 判断当前的状态是否是刷新状态。 |

| setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener) | 设置监听,需要重写onRefresh()方法,顶部下拉时会调用这个方法,在里面实现请求数据的逻辑,设置下拉进度条消失等等。 |

| setRefreshing(boolean refreshing) | 设置刷新状态,true表示正在刷新,false表示取消刷新 |

使用

===

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

dependencies {

implementation “androidx.swiperefreshlayout:swiperefreshlayout:1.0.0”

}

第二步:编写布局文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android=“http://schemas.android.com/apk/res/android”

xmlns:app=“http://schemas.android.com/apk/res-auto”

xmlns:tools=“http://schemas.android.com/tools”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

tools:context=“.MainActivity”>

<androidx.swiperefreshlayout.widget.SwipeRefreshLayout

android:layout_width=“match_parent”

android:layout_height=“match_parent”>

<ListView

android:layout_width=“match_parent”

android:layout_height=“match_parent”/>

</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

注意:这一步中,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() {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值