鸿蒙OS ScrollHelper

2022-09-29 11:33 更新

ScrollHelper

java.lang.Object

|---ohos.agp.components.ScrollHelper

public class ScrollHelper
extends Object

提供获取滚动或滑动组件动画值的方法。

动画值包括滚动距离、滚动是否结束、动画抛出的速度、动画的加减速速度。

Since:

3

字段摘要

修饰符和类型 字段 描述
static int AXIS_X 表示x坐标轴。
static int AXIS_Y 表示y坐标轴。

构造函数摘要

构造函数 描述
ScrollHelper() 用于创建 ScrollHelper 实例的默认构造函数。

方法总结

修饰符和类型 方法 描述
void abortAnimation() 通过停止动画位置的计算来停止动画。
void doFling(int startX, int startY, int velocityX, int velocityY, int minX, int maxX, int minY, int maxY) 开始投掷内容。
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) 获取滚动或翻转过程中的 X/Y 轴坐标。
float getCurrVelocity() 获取当前速度。
int getFlingDistanceX(int velocityX) 获取x轴上的抛投距离。
int getFlingDistanceY(int velocityY) 获取y轴上的抛投距离。
int getFlingVelocityX() 获取x轴上的抛掷速度。
int getFlingVelocityY() 获取y轴上的抛掷速度。
float getFriction() 获得摩擦量。
int getHorizontalBeginPosition() 获取滚动开始的 x 坐标。
int getScrollDistanceX() 获取 x 轴上的滚动距离。
int getScrollDistanceY() 获取 y 轴上的滚动距离。
boolean isFinished() 确定滚动或投掷是否完成。
boolean isOverScrolled() 检查内容是否已滚动到有效位置。
void setFriction(float friction) 设置模拟摩擦量以计算当前速度。
void startScroll(int startX, int startY, int dx, int dy) 开始滚动组件的内容。
void startScrollX(int startX, int dx) 开始沿 x 轴滚动。
void startScrollY(int startY, int dy) 开始沿 y 轴滚动。
boolean updateScroll() 更新甩动或滚动动画的位置。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细信息

AXIS_X

public static final int AXIS_X

表示x坐标轴。

Since:

3

AXIS_Y

public static final int AXIS_Y

表示y坐标轴。

Since:

3

构造函数详细信息

ScrollHelper

public ScrollHelper()

用于创建 ScrollHelper 实例的默认构造函数。

方法详情

doFling

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

开始投掷内容。

此方法也用于设置投掷速度和距离。

参数:

参数名称 参数描述
startX 表示fling的起始点的X轴坐标。
startY 表示要投掷的起点的Y轴坐标。
velocityX 表示 X 轴上的初始速度,以像素/秒为单位。 该值可以是负数,表示组件正在减速。
velocityY 表示 Y 轴上的初始速度,以像素/秒为单位。 该值可以是负数,表示组件正在减速。
minX 表示 X 轴上的最小投掷距离。
maxX 表示 X 轴上的最大抛射距离。
minY 表示 Y 轴上的最小投掷距离。
maxY 表示 Y 轴上的最大投掷距离。

Since:

4

doFlingX

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

开始沿 x 轴跳跃。

您也可以使用此方法设置投掷速度和距离。

参数:

参数名称 参数描述
startX 指示投掷开始的 x 坐标。
velocityX 表示每秒在 x 轴上移动的像素数。
minX 表示 x 轴上的最小投掷距离。
maxX 表示 x 轴上的最大甩动距离。

Since:

4

doFlingY

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

开始沿 y 轴跳跃。

您也可以使用此方法设置投掷速度和距离。

参数:

参数名称 参数描述
startY 指示投掷开始的 y 坐标。
velocityY 表示每秒在 y 轴上移动的像素数。
minY 表示 y 轴上的最小抛投距离。
maxY 表示 y 轴上的最大甩动距离。

Since:

4

startScrollX

public void startScrollX(int startX, int dx)

开始沿 x 轴滚动。

参数:

参数名称 参数描述
startX 指示滚动开始的 x 坐标。
dx 表示 x 轴上的滚动距离。 正值表示向左滚动,负值表示向右滚动。

Since:

4

startScrollY

public void startScrollY(int startY, int dy)

开始沿 y 轴滚动。

参数:

参数名称 参数描述
startY 指示滚动开始的 y 坐标。
dy 表示y轴上的滚动距离。 正值表示向上滚动,负值表示向下滚动。

Since:

4

getFlingDistanceX

public int getFlingDistanceX(int velocityX)

获取x轴上的抛投距离。

参数:

参数名称 参数描述
velocityX 表示 x 轴上每秒的像素数 (px/s)。

返回:

返回投掷距离。

Since:

4

getFlingDistanceY

public int getFlingDistanceY(int velocityY)

获取y轴上的抛投距离。

参数:

参数名称 参数描述
velocityY 表示 y 轴上每秒的像素数 (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)

开始滚动组件的内容。

参数:

参数名称 参数描述
startX 指示要滚动的起点的 X 轴坐标。
startY 指示要滚动的起点的 Y 轴坐标。
dx 表示 X 轴上的滚动距离。 如果值为正,则内容向左滚动。 如果值为负,则内容向右滚动。
dy 表示 Y 轴上的滚动距离。 如果值为正,则内容向上滚动。 如果值为负,则内容向下滚动。

getHorizontalBeginPosition

public int getHorizontalBeginPosition()

获取滚动开始的 x 坐标。

返回:

返回 x 坐标。

Since:

4

getScrollDistanceX

public int getScrollDistanceX()

获取 x 轴上的滚动距离。

返回:

返回滚动距离。

Since:

4

getScrollDistanceY

public int getScrollDistanceY()

获取 y 轴上的滚动距离。

返回:

返回滚动距离。

Since:

4

getCurrValue

public int getCurrValue(int direction)

获取滚动或翻转过程中的 X/Y 轴坐标。

参数:

参数名称 参数描述
direction 表示 x 轴或 y 轴。

返回:

返回当前 X/Y 轴坐标。

Since:

4

isFinished

public boolean isFinished()

确定滚动或投掷是否完成。

返回:

如果滚动或投掷完成,则返回 true; 否则返回 false。

setFriction

public void setFriction(float friction)

设置模拟摩擦量以计算当前速度。 更大的摩擦力表示更快的速度减速。

参数:

参数名称 参数描述
friction 表示摩擦量。

getFriction

public float getFriction()

获得摩擦量。 摩擦力用于计算当前速度。 更大的摩擦力表示更快的速度减速。

返回:

返回设置或默认摩擦。

abortAnimation

public void abortAnimation()

通过停止动画位置的计算来停止动画。

updateScroll

public boolean updateScroll()

更新甩动或滚动动画的位置。

动画位置更新后,返回动画更新结果。

返回:

如果动画被更新,则返回 true; 否则返回 false。

Since:

4

getCurrVelocity

public float getCurrVelocity()

获取当前速度。

返回:

返回当前速度。

isOverScrolled

public boolean isOverScrolled()

检查内容是否已滚动到有效位置。

返回:

如果内容已滚动到有效位置,则返回 true; 否则返回 false。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号