標籤:android style blog color 使用 io for 資料 div
一、概述
這個類封裝了滾動操作。使用這個類可以獲得用於建立滾動動畫的資料——例如:用於回應滑動手勢。
Scroller隨時跟蹤滾動的位移量(相對原點),但不能自動應用這些位置資訊於我們的view。
通常使用computeScrollerOffset()方法監測滾動的橫豎向偏離量,這個方法返回一個boolean值用於判斷滾動動畫是否完成(true表示動畫還沒有完成),可利用這個方法獲得當前位置的位移量,例如
1 private Scroller mScroller = new Scroller(context);2 3 4 if (mScroller.computeScrollOffset()) {5 //獲得當前的橫向和豎向位置(相對原點(0,0) )
6 int currX = mScroller.getCurrX();7 int currY = mScroller.getCurrY();8 ...9 }
二、建構函式:
public Scroller(Context context)
以預設的期間(250ms)和動畫插入器建立一個Scroller
public Scroller(Context context , Interpolator interpolator)
以特定的動畫插入器建立一個Scroller,若對應參數interpolator為空白,則使用預設值
三、公用方法
1. public void abortAnimation()
中止動畫。與forceFinished(boolean)相反,滾動到終點座標時停止動畫。
2. public boolean computeScrollerOffset()
計算滾動偏離量。當想要得到新的座標資訊時調用此方法,這與android.view.VelocityTracker中的 computeCurrentVelocity()的思想相似——先調用一個方法讓程式進行計算,再使用其他方法擷取計算結果。不同的是,Scroller需要判斷是否有滾動動作在進行中,傳回值為true表示滾動未完成(可擷取當前的方向位移量),否則就不可以了,編寫相關相關操作時該有這樣的判斷,例如上面的代碼。
3. public void extendDuration(int extend)
延長動畫的期間。當和setFinalX(int)和setFinalY(int)一起使用時,可以使動作持續更長時間並且滑動距離更長。參數extend以毫秒為單位。
該睡覺了,不能影響室友休息。。。
android.widget.Scroller