android swiperefreshlayout 自定义,SwipeRefreshLayout 的使用详解

android swiperefreshlayout 自定义,SwipeRefreshLayout 的使用详解SwipeRefreshLayout作为谷歌官方推荐的下拉刷新控件,同时简单而又不失优雅的风格,让许多app都使用了这一控件,今天记录下SwipeRefreshLayout在项目中的实际运用。首先,我们在布局文件中使用:android:id=”@+id/swipeRefreshLayout”android:layout_width=”match_parent”android:layout_heig…

大家好,又见面了,我是你们的朋友全栈君。

SwipeRefreshLayout作为谷歌官方推荐的下拉刷新控件,同时简单而又不失优雅的风格,让许多app都使用了这一控件,今天记录下SwipeRefreshLayout在项目中的实际运用。

首先,我们在布局文件中使用:

android:id=”@+id/swipeRefreshLayout”

android:layout_width=”match_parent”

android:layout_height=”wrap_content”

>

android:id=”@+id/list”

android:layout_width=”match_parent”

android:layout_height=”match_parent”>

注意,将listview或者recyclerview放在SwipeRefreshLayout内,这样,我们一个简单的布局就完成了。

现在我们可以运行试试效果。

b7bd922195f9

Screenshot_1553658047.png

一个黑不拉几的下拉样式就出来啦,有人肯定会觉得不对啊,这个怎么一直转,还是黑色的,别急,我们慢慢来

设置SwipeRefreshLayout 的颜色

我们先在res/values/color中定义好几个颜色

#5BC0DE

#FF4081

#000000

然后在java代码中设置颜色:

swipeRefreshLayout.setColorSchemeResources(R.color.blue);

接下来让我们运行看看:

b7bd922195f9

Screenshot_1553658583.png

我们成功改变了下拉样式的颜色,而且可以支持三种颜色变换哦

swipeRefreshLayout.setColorSchemeResources(R.color.blue,R.color.red,R.color.black);

设置SwipeRefreshLayout 下拉刷新功能的实现

这个下拉为啥一直在转呢?因为我们还没在代码中设置它的停止,按逻辑来说,我们将在发起数据请求后,服务器做出回应或者一定时间没有得到回应后,将动画取消。让我们先看看SwipeRefreshLayout 的回调方法

swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {

@Override

public void onRefresh() {

//这里获取数据的逻辑

swipeRefreshLayout.setRefreshing(false);

}

});

swipeRefreshLayout.setRefreshing(false)这句话传入一个布尔变量,false代表停止执行,这样,当我们执行完毕获取数据的过程后,就可以将一直转的下拉动画给取消掉啦,而且呢, swipeRefreshLayout.setRefreshing()这个方法也可以实现第一次打开页面自动下拉刷新的逻辑,具体实现请问度娘。

SwipeRefreshLayout 的其他几个方法

//设置进度View样式的大小,只有两个值DEFAULT和LARGE,表示默认和较大

swipeRefreshLayout.setSize(DEFAULT);

//设置触发下拉刷新的距离

swipeRefreshLayout.setDistanceToTriggerSync(300);

//设置动画样式下拉的起始点和结束点,scale 是指设置是否需要放大或者缩小动画。

swipeRefreshLayout.setProgressViewOffset(boolean scale, int start, int end)

//设置动画样式下拉的结束点,scale 是指设置是否需要放大或者缩小动画

swipeRefreshLayout.setProgressViewEndTarget(boolean scale, int end);

//如果自定义了swipeRefreshLayout,可以通过这个回调方法决定是否可以滑动。

setOnChildScrollUpCallback(@Nullable OnChildScrollUpCallback callback)

本文为原创,转载请标明出处。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152952.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月25日 下午12:16
下一篇 2022年6月25日 下午12:16


相关推荐

  • 如何把自己的百度网盘的内容分享给别人

    如何把自己的百度网盘的内容分享给别人

    2021年9月18日
    625
  • ccproxy设置外网代理方法_cc代理ip

    ccproxy设置外网代理方法_cc代理ipCCProxy代理上网设置方法

    2025年6月20日
    5
  • c语言大数求和_指数幂的加法

    c语言大数求和_指数幂的加法文章目录1.大数加法2.大数幂运算3.大数求余废话不多说,直接上代码了。1.大数加法stringgetCountAdd(stringa,stringb){ stringc=””; intbit=-1;//判断是否进位-1为否,其他为进位数 inti=a.length()-1;//获得a字符串长度 intj=b.length()-1;//获得b字符串长度 //第一种情况两者都处理完 while(i!=-1&&j!

    2022年10月6日
    4
  • bug生命周期以及管理

    bug生命周期以及管理目录 bug 管理工具 bug 的生命周期 bug 的优先级 Priority bug 管理工具禅道 jira bugzilla bugfree 等等 bug 的生命周期是指在 Bug 管理工具中 一个 bug 被发现到这个 bug 被关闭的过程 Bug 的生命周期被分成的阶段是 测试员 新建 测试员 指派 开发 接受 开发 修复 测试验证 关闭 bug 的优先级 Priority bug 的优先级指 bug 必须被修复的紧急程度 1 立即解决缺陷导致系统几乎不能使用或者测试不能继续 需立即修复 2 高

    2026年3月26日
    1
  • 向量及平面方程

    向量及平面方程向量及平面方程定理 1 向量 a 0 向量 b a 的充要条件是 存在唯一实数 k 使 b ka 向量 r 的坐标分解式 r xi yj zk 其中 xi yj zk 称为 r 沿三个坐标轴的分向量模向量 r x y z 模长 r 根号下 x2 y2 z 2 方向角向量 r x y z 与 x y z 轴的夹角 分别为 A B C 方向余弦 cosA x r cosB y r cosC z r

    2026年3月18日
    2
  • Android视频编码_安卓视频解码器

    Android视频编码_安卓视频解码器SVideoRecorder(https://github.com/yellowcath/SVideoRecorder)使用Android原生的MediaCodec进行视频录制,对比大量使用FFmpeg进行录制的库优点如下:体积小 :编译后的aar只有187K,ffmpeg一个so就7、8M,精简之后也差不多还有一半大小 速度快 :在huaweiP9上,720P的一帧:  FFmpeg编码…

    2022年8月31日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号