本文譯自:http://developer.android.com/reference/android/widget/Scroller.html
繼承關係
java.lang.Object
|____android.widget.Scroller
類概要
這個類封裝了滾動處理。在它的構造器中可以傳遞滾動的期間,並指定滾動動畫所需要的最大時間。經過這段時間,滾動處理會自動的把它們移到最後的階段,並且如果computeScrollOffset()方法始終返回false,那麼就表示滾動處理結束了。
Public Constructors |
|
Scroller(Context context) 用預設的期間和查補器來建立一個滾動器(Scroller) |
|
Scroller(Context context, Interpolator interpolator) 用指定的插補器來建立一個滾動器(Scroller)。如果查補器參數是null,那麼就會使用預設的插補器(黏性插補器)。針對Honeycomb或更新版本的應用程式“Flywheel”行為會有效。 |
|
Scroller(Context context, Interpolator interpolator, boolean flywheel) 用指定的插補器來建立一個滾動器(Scroller)。如果查補器參數是null,那麼就會使用預設的插補器(黏性插補器)。並指定是否支援漸進的“flywheel”行為。 |
Public Methods |
void |
abortAnimation() 停止動畫,跟forceFinished(boolean)相反,終止動畫會導致滾動器移動到最後的X和Y的位置。 |
boolean |
computeScrollOffset() 當你想瞭解最新的滾動位置時,調用這個方法。如果該方法返回true,那麼動畫依然在進行中。位置會被新的位置更改。 |
void |
extendDuration(int extend) 延長滾動動畫。調用這個方法會讓動畫滾動比setFinalX(int)或setFinalY(int)方法的設定更遠更長。 參數:extend,以毫秒為單位,額外的滾動時間。 |
void |
filing(int startX, int startY, int velocity, int velocity, int minx, int maxX, int minY, int maxyY) 基於甩動手勢開始滾動處理。根據甩動的初始速率來決定滾動的距離。 參數: startX 滾動的起始點(X) startY 滾動的起始點(Y) velocityX 以像素/每秒為單位,測量所得X軸的初始甩動速率 velocityY以像素/每秒為單位,測量所得Y軸的初始甩動速率 minX 最小的X軸值,滾動器不能滾動經過這個點 maxX 最大的X軸值,滾動器不能滾動經過這個點 minY 最小的Y軸值,滾動器不能滾動經過這個點 maxY 最大的Y軸值,滾動器不能滾動經過這個點 |
final void |
forceFinished(boolean finished) 給finished欄位強制指定一個特殊的值。 參數:finished,指定一個新的finished值。 |
float |
getCurrVelocity() 返回當前的速率 傳回值:初始速率減去減少的速度,結果可以是負值。 |
final int |
getCurrX() 返回當前滾動中的X軸位移量 傳回值:新的X軸位移量是相對原點的絕對距離。 |
final int |
getCurrY() 返回當前滾動中的Y軸位移量 傳回值:新的Y軸位移量是相對原點的絕對距離。 |
final int |
getDuration() 以毫秒為單位,返復原動時間所需要的時間長度。 傳回值:滾動所持續的時間。 |
final int |
getFinalX() 返回X軸滾動結束的位置,只對“fling”類型的滾動有效。 傳回值:相對於原點的X軸最終絕對位移距離。 |
final int |
getFinalY() 返回Y軸滾動結束的位置,只對“fling”類型的滾動有效。 傳回值:相對於原點的Y軸最終絕對位移距離。 |
final int |
getStartX() 返回X軸的滾動起始點 傳回值:起始點位移量,相對於原點的X軸絕對距離 |
final int |
getStartY() 返回Y軸的滾動起始點 傳回值:起始點位移量,相對於原點的Y軸絕對距離 |
final boolean |
isFinised() 返復原動器的滾動處理是否完成 傳回值:滾動處理完成,返回true,否則返回false |
void |
setFinalX(int newX) 設定滾動器的滾動的X軸終點 參數:newX 相對原點的X軸絕對距離 |
void |
setFinalY(int newY) 設定滾動器的滾動的Y軸終點 參數:newY 相對原點Y軸絕對距離 |
final void |
setFriction(float friction) 設定應用於“fling”手勢的摩擦力。調用getScrollFriction()方法獲得預設值。 參數:friction 代表摩擦力係數的標量刻度值 |
void |
startScroll(int startX, int startY, int dx, int dy) 通過提供起始點和行程距離來啟動滾動處理。滾動持續的時間會使用預設值250毫秒。 參數: startX 以像素為單位,設定水平滾動位移量,正值會向左滾動內容 startY 以像素為單位,設定垂直滾動位移量,正值會向上滾動內容 dx 水平行程。正值會向左滾動內容 dy 垂直行程,正值會向上滾動內容 |
void |
startScroll(int startX, int startY, int dx, int dy, int duration) 通過提供起始點和行程來啟動滾動處理 參數: startX 以像素為單位,設定水平滾動位移量,正值會向左滾動內容 startY 以像素為單位,設定垂直滾動位移量,正值會向上滾動內容 dx 水平行程。正值會向左滾動內容 dy 垂直行程,正值會向上滾動內容 duration 以毫秒為單位,設定滾動的時間長度。 |
int |
timePassed() 返復原動處理開始後所消逝的時間。 傳回值:以毫秒為單位,滾動消逝的時間。 |