溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SwipeRefreshLayout如何設(shè)置下拉刷新的距離高度

發(fā)布時間:2021-07-10 15:04:13 來源:億速云 閱讀:323 作者:chen 欄目:編程語言

本篇內(nèi)容介紹了“SwipeRefreshLayout如何設(shè)置下拉刷新的距離高度”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

SwipeRefreshLayout 的下拉刷新距離比較短,有的時候,想要手動設(shè)置它的下拉刷新高度,如何解決呢?在網(wǎng)上找了好一會,居然沒搜到比較滿意的答復(fù),好些都是復(fù)制粘貼。于是乎,求人不如求己,拿出API文檔,大概看了下,發(fā)現(xiàn)了三個相關(guān)API:

SwipeRefreshLayout如何設(shè)置下拉刷新的距離高度

一、setProgressViewEndTarget方法

setProgressViewEndTarget (boolean scale, int end)方法有兩個參數(shù),
參數(shù)scale設(shè)置為true,則下拉過程,會自動縮放;參數(shù)end是下拉刷新的高度,也就是我們需要的參數(shù),通過改變它的值,就能改變下拉刷新高度。

  • setProgressViewEndTarget (false,50)的效果圖
    SwipeRefreshLayout如何設(shè)置下拉刷新的距離高度

  • setProgressViewEndTarget (true,100)的效果圖
    SwipeRefreshLayout如何設(shè)置下拉刷新的距離高度

  • swipeRefreshLayout.setProgressViewOffset(false,100,200)的效果圖

三、setDistanceToTriggerSync方法

這個方法主要是用來設(shè)置手指在屏幕下拉多少距離才會觸發(fā)SwipeRefreshLayout控件的刷新動畫效果;setDistanceToTriggerSync(int distance)參數(shù)的distance就是手指下拉的具體高度值。查看SwipeRefreshLayout的源碼我們會發(fā)現(xiàn)如下代碼:

 
  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 ,該變量的單詞意思是 總的拖拽距離 ,也就是我們所說觸發(fā)刷新動畫時手指需要下拉的距離。

 
  1.  

    //默認觸發(fā)動畫的下拉距離  

  2.  

    private static final int DEFAULT_CIRCLE_TARGET = 64;  

  3.  

     

  4.  

    mSpinnerFinalOffset = DEFAULT_CIRCLE_TARGET * metrics.density;  

  5.  

    mTotalDragDistance = mSpinnerFinalOffset;  

繼續(xù)看源碼,我們會發(fā)現(xiàn),mTotalDragDistance默認等于mSpinnerFinalOffset,而mSpinnerFinalOffset等于64乘以當前分辨率值,也就是說,默認情況下,要觸發(fā)下拉刷新動畫效果,手指下拉距離為64dp。

OK,要說的也就這么多了,利用這三個方法,就可以方便的設(shè)置SwipeRefreshLayout 的下拉刷新的距離,和刷新動畫所在的位置了!

“SwipeRefreshLayout如何設(shè)置下拉刷新的距離高度”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI