SwipeRefreshLayout如何设置下拉刷新的距离高度

发布时间:2021-07-10 15:04:13 作者:chen
来源:亿速云 阅读:332

本篇内容介绍了“SwipeRefreshLayout如何设置下拉刷新的距离高度”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

SwipeRefreshLayout 的下拉刷新距离比较短,有的时候,想要手动设置它的下拉刷新高度,如何解决呢?在网上找了好一会,居然没搜到比较满意的答复,好些都是复制粘贴。于是乎,求人不如求己,拿出API文档,大概看了下,发现了三个相关API:

SwipeRefreshLayout如何设置下拉刷新的距离高度

一、setProgressViewEndTarget方法

setProgressViewEndTarget (boolean scale, int end)方法有两个参数,
参数scale设置为true,则下拉过程,会自动缩放;参数end是下拉刷新的高度,也就是我们需要的参数,通过改变它的值,就能改变下拉刷新高度。

三、setDistanceToTriggerSync方法

这个方法主要是用来设置手指在屏幕下拉多少距离才会触发SwipeRefreshLayout控件的刷新动画效果;setDistanceToTriggerSync(int distance)参数的distance就是手指下拉的具体高度值。查看SwipeRefreshLayout的源码我们会发现如下代码:

 
  1.  

    /**  

  2.  

    * Set the distance to trigger a sync in dips  

  3.  

    *  

  4.  

    * @param distance  

  5.  

    */  

  6.  

    public void setDistanceToTriggerSync(int distance) {  

  7.  

    mTotalDragDistance = distance;  

  8.  

    }    

setDistanceToTriggerSync方法最终是把具体高度distance赋值给了mTotalDragDistance ,该变量的单词意思是 总的拖拽距离 ,也就是我们所说触发刷新动画时手指需要下拉的距离。

 
  1.  

    //默认触发动画的下拉距离  

  2.  

    private static final int DEFAULT_CIRCLE_TARGET = 64;  

  3.  

     

  4.  

    mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density;  

  5.  

    mTotalDragDistance = mSpinnerFinalOffset;  

继续看源码,我们会发现,mTotalDragDistance默认等于mSpinnerFinalOffset,而mSpinnerFinalOffset等于64乘以当前分辨率值,也就是说,默认情况下,要触发下拉刷新动画效果,手指下拉距离为64dp。

OK,要说的也就这么多了,利用这三个方法,就可以方便的设置SwipeRefreshLayout 的下拉刷新的距离,和刷新动画所在的位置了!

“SwipeRefreshLayout如何设置下拉刷新的距离高度”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. Google官方版下拉刷新控件SwipeRefreshLayout解析
  2. 使用SwipeRefreshLayout实现下拉刷新与上拉加载更多

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

swiperefreshlayout

上一篇:springboot多模块开发并使用dependencyManagement管理

下一篇:kde5与archlinux环境下如何配置libinput-gestures多手势操作

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》