鸿蒙OS ScrollHelper
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。
更多建议: