Android學(xué)習(xí)整理 - 15- Scroller

Android Scroller完全解析,關(guān)于Scroller你所需知道的一切


Scroller

構(gòu)造函數(shù)
  • Scroller(Context context)
  • Scroller(Context context, Interpolator interpolator)動(dòng)畫插入器
  • Scroller(Context context, Interpolator interpolator, boolean flywheel),overScroller的flinging(具體使用未知)

常用的方法
computeScrollOffset()

判斷Scroller的數(shù)值是否還在變化中,true為變化中,false為變化完成。

startScroll (int startX, int startY, int dx, int dy)

開(kāi)始數(shù)值變化,前倆個(gè)參數(shù)為起始的X、Y值,后面?zhèn)z個(gè)是對(duì)應(yīng)的偏移量(偏移量:左上為正,右下為負(fù)。默認(rèn)偏移時(shí)間為250毫秒,可以自己加個(gè)時(shí)間參數(shù)。)

Scroller.getCurrX()

得到當(dāng)前變化的X

Scroller.getCurrY()

得到當(dāng)前變化的Y


使用

  1. 在自定義view的構(gòu)造方法中初始化Scroller
  2. 調(diào)用Scroller的
startScroll (int startX, int startY, int dx,int dy)

開(kāi)始滾動(dòng)

并且記得刷新繪制

 invalidate();
  1. 重寫函數(shù)
computeScroll()
```

這里很重要!很重要!很重要!!!

一般情況下
```
@Override
    public void computeScroll() {
        if(mScroller.computeScrollOffset()){
            scrollTo(mScroller.getCurrX(), mScroller.getCurrY());
            invalidate();
        }
    }
```


----

**[ScrollerDemo](https://github.com/minminaya/ScrollerDemo)**

---
end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容