鴻蒙OS ScrollHelper

2022-09-29 11:33 更新

ScrollHelper

java.lang.Object

|---ohos.agp.components.ScrollHelper

public class ScrollHelper
extends Object

提供獲取滾動(dòng)或滑動(dòng)組件動(dòng)畫值的方法。

動(dòng)畫值包括滾動(dòng)距離、滾動(dòng)是否結(jié)束、動(dòng)畫拋出的速度、動(dòng)畫的加減速速度。

Since:

3

字段摘要

修飾符和類型 字段 描述
static int AXIS_X 表示x坐標(biāo)軸。
static int AXIS_Y 表示y坐標(biāo)軸。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
ScrollHelper() 用于創(chuàng)建 ScrollHelper 實(shí)例的默認(rèn)構(gòu)造函數(shù)。

方法總結(jié)

修飾符和類型 方法 描述
void abortAnimation() 通過停止動(dòng)畫位置的計(jì)算來停止動(dòng)畫。
void doFling(int startX, int startY, int velocityX, int velocityY, int minX, int maxX, int minY, int maxY) 開始投擲內(nèi)容。
void doFlingX(int startX, int velocityX, int minX, int maxX) 開始沿 x 軸跳躍。
void doFlingY(int startY, int velocityY, int minY, int maxY) 開始沿 y 軸跳躍。
int getCurrValue(int direction) 獲取滾動(dòng)或翻轉(zhuǎn)過程中的 X/Y 軸坐標(biāo)。
float getCurrVelocity() 獲取當(dāng)前速度。
int getFlingDistanceX(int velocityX) 獲取x軸上的拋投距離。
int getFlingDistanceY(int velocityY) 獲取y軸上的拋投距離。
int getFlingVelocityX() 獲取x軸上的拋擲速度。
int getFlingVelocityY() 獲取y軸上的拋擲速度。
float getFriction() 獲得摩擦量。
int getHorizontalBeginPosition() 獲取滾動(dòng)開始的 x 坐標(biāo)。
int getScrollDistanceX() 獲取 x 軸上的滾動(dòng)距離。
int getScrollDistanceY() 獲取 y 軸上的滾動(dòng)距離。
boolean isFinished() 確定滾動(dòng)或投擲是否完成。
boolean isOverScrolled() 檢查內(nèi)容是否已滾動(dòng)到有效位置。
void setFriction(float friction) 設(shè)置模擬摩擦量以計(jì)算當(dāng)前速度。
void startScroll(int startX, int startY, int dx, int dy) 開始滾動(dòng)組件的內(nèi)容。
void startScrollX(int startX, int dx) 開始沿 x 軸滾動(dòng)。
void startScrollY(int startY, int dy) 開始沿 y 軸滾動(dòng)。
boolean updateScroll() 更新甩動(dòng)或滾動(dòng)動(dòng)畫的位置。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段詳細(xì)信息

AXIS_X

public static final int AXIS_X

表示x坐標(biāo)軸。

Since:

3

AXIS_Y

public static final int AXIS_Y

表示y坐標(biāo)軸。

Since:

3

構(gòu)造函數(shù)詳細(xì)信息

ScrollHelper

public ScrollHelper()

用于創(chuàng)建 ScrollHelper 實(shí)例的默認(rèn)構(gòu)造函數(shù)。

方法詳情

doFling

public void doFling(int startX, int startY, int velocityX, int velocityY, int minX, int maxX, int minY, int maxY)

開始投擲內(nèi)容。

此方法也用于設(shè)置投擲速度和距離。

參數(shù):

參數(shù)名稱 參數(shù)描述
startX 表示fling的起始點(diǎn)的X軸坐標(biāo)。
startY 表示要投擲的起點(diǎn)的Y軸坐標(biāo)。
velocityX 表示 X 軸上的初始速度,以像素/秒為單位。 該值可以是負(fù)數(shù),表示組件正在減速。
velocityY 表示 Y 軸上的初始速度,以像素/秒為單位。 該值可以是負(fù)數(shù),表示組件正在減速。
minX 表示 X 軸上的最小投擲距離。
maxX 表示 X 軸上的最大拋射距離。
minY 表示 Y 軸上的最小投擲距離。
maxY 表示 Y 軸上的最大投擲距離。

Since:

4

doFlingX

public void doFlingX(int startX, int velocityX, int minX, int maxX)

開始沿 x 軸跳躍。

您也可以使用此方法設(shè)置投擲速度和距離。

參數(shù):

參數(shù)名稱 參數(shù)描述
startX 指示投擲開始的 x 坐標(biāo)。
velocityX 表示每秒在 x 軸上移動(dòng)的像素?cái)?shù)。
minX 表示 x 軸上的最小投擲距離。
maxX 表示 x 軸上的最大甩動(dòng)距離。

Since:

4

doFlingY

public void doFlingY(int startY, int velocityY, int minY, int maxY)

開始沿 y 軸跳躍。

您也可以使用此方法設(shè)置投擲速度和距離。

參數(shù):

參數(shù)名稱 參數(shù)描述
startY 指示投擲開始的 y 坐標(biāo)。
velocityY 表示每秒在 y 軸上移動(dòng)的像素?cái)?shù)。
minY 表示 y 軸上的最小拋投距離。
maxY 表示 y 軸上的最大甩動(dòng)距離。

Since:

4

startScrollX

public void startScrollX(int startX, int dx)

開始沿 x 軸滾動(dòng)。

參數(shù):

參數(shù)名稱 參數(shù)描述
startX 指示滾動(dòng)開始的 x 坐標(biāo)。
dx 表示 x 軸上的滾動(dòng)距離。 正值表示向左滾動(dòng),負(fù)值表示向右滾動(dòng)。

Since:

4

startScrollY

public void startScrollY(int startY, int dy)

開始沿 y 軸滾動(dòng)。

參數(shù):

參數(shù)名稱 參數(shù)描述
startY 指示滾動(dòng)開始的 y 坐標(biāo)。
dy 表示y軸上的滾動(dòng)距離。 正值表示向上滾動(dòng),負(fù)值表示向下滾動(dòng)。

Since:

4

getFlingDistanceX

public int getFlingDistanceX(int velocityX)

獲取x軸上的拋投距離。

參數(shù):

參數(shù)名稱 參數(shù)描述
velocityX 表示 x 軸上每秒的像素?cái)?shù) (px/s)。

返回:

返回投擲距離。

Since:

4

getFlingDistanceY

public int getFlingDistanceY(int velocityY)

獲取y軸上的拋投距離。

參數(shù):

參數(shù)名稱 參數(shù)描述
velocityY 表示 y 軸上每秒的像素?cái)?shù) (px/s)。

返回:

返回投擲距離。

Since:

4

getFlingVelocityX

public int getFlingVelocityX()

獲取x軸上的拋擲速度。

返回:

返回拋擲速度(單位:px/s)。

Since:

4

getFlingVelocityY

public int getFlingVelocityY()

獲取y軸上的拋擲速度。

返回:

返回拋擲速度(單位:px/s)。

Since:

4

startScroll

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

開始滾動(dòng)組件的內(nèi)容。

參數(shù):

參數(shù)名稱 參數(shù)描述
startX 指示要滾動(dòng)的起點(diǎn)的 X 軸坐標(biāo)。
startY 指示要滾動(dòng)的起點(diǎn)的 Y 軸坐標(biāo)。
dx 表示 X 軸上的滾動(dòng)距離。 如果值為正,則內(nèi)容向左滾動(dòng)。 如果值為負(fù),則內(nèi)容向右滾動(dòng)。
dy 表示 Y 軸上的滾動(dòng)距離。 如果值為正,則內(nèi)容向上滾動(dòng)。 如果值為負(fù),則內(nèi)容向下滾動(dòng)。

getHorizontalBeginPosition

public int getHorizontalBeginPosition()

獲取滾動(dòng)開始的 x 坐標(biāo)。

返回:

返回 x 坐標(biāo)。

Since:

4

getScrollDistanceX

public int getScrollDistanceX()

獲取 x 軸上的滾動(dòng)距離。

返回:

返回滾動(dòng)距離。

Since:

4

getScrollDistanceY

public int getScrollDistanceY()

獲取 y 軸上的滾動(dòng)距離。

返回:

返回滾動(dòng)距離。

Since:

4

getCurrValue

public int getCurrValue(int direction)

獲取滾動(dòng)或翻轉(zhuǎn)過程中的 X/Y 軸坐標(biāo)。

參數(shù):

參數(shù)名稱 參數(shù)描述
direction 表示 x 軸或 y 軸。

返回:

返回當(dāng)前 X/Y 軸坐標(biāo)。

Since:

4

isFinished

public boolean isFinished()

確定滾動(dòng)或投擲是否完成。

返回:

如果滾動(dòng)或投擲完成,則返回 true; 否則返回 false。

setFriction

public void setFriction(float friction)

設(shè)置模擬摩擦量以計(jì)算當(dāng)前速度。 更大的摩擦力表示更快的速度減速。

參數(shù):

參數(shù)名稱 參數(shù)描述
friction 表示摩擦量。

getFriction

public float getFriction()

獲得摩擦量。 摩擦力用于計(jì)算當(dāng)前速度。 更大的摩擦力表示更快的速度減速。

返回:

返回設(shè)置或默認(rèn)摩擦。

abortAnimation

public void abortAnimation()

通過停止動(dòng)畫位置的計(jì)算來停止動(dòng)畫。

updateScroll

public boolean updateScroll()

更新甩動(dòng)或滾動(dòng)動(dòng)畫的位置。

動(dòng)畫位置更新后,返回動(dòng)畫更新結(jié)果。

返回:

如果動(dòng)畫被更新,則返回 true; 否則返回 false。

Since:

4

getCurrVelocity

public float getCurrVelocity()

獲取當(dāng)前速度。

返回:

返回當(dāng)前速度。

isOverScrolled

public boolean isOverScrolled()

檢查內(nèi)容是否已滾動(dòng)到有效位置。

返回:

如果內(nèi)容已滾動(dòng)到有效位置,則返回 true; 否則返回 false。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)