Android類說明—Scroller

來源:互聯網
上載者:User

本文譯自: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()

  返復原動處理開始後所消逝的時間。

  傳回值:以毫秒為單位,滾動消逝的時間。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.