EdgeEffect.OnPullDistance(Single, Single) 方法

定义

当用户从边缘拉取内容时,视图应调用此内容。

[Android.Runtime.Register("onPullDistance", "(FF)F", "GetOnPullDistance_FFHandler", ApiSince=31)]
public virtual float OnPullDistance(float deltaDistance, float displacement);
[<Android.Runtime.Register("onPullDistance", "(FF)F", "GetOnPullDistance_FFHandler", ApiSince=31)>]
abstract member OnPullDistance : single * single -> single
override this.OnPullDistance : single * single -> single

参数

deltaDistance
Single

自上次调用以来的距离变化。 值可以是 0(无更改)到 1.f(视图的完整长度)或负值,以表示向到达边缘的更改以启动效果。

displacement
Single

点启动拉取效果的起始端的偏移量。 在触摸的情况下,这是手指位置。 值可能介于 0-1。

返回

消耗的 deltaDistance 量,介于 0 和 deltaDistance0 之间的数字。

属性

注解

当用户从边缘拉取内容时,视图应调用此内容。 这将更新当前视觉效果的状态及其关联的动画。 主机视图应始终 android.view.View#invalidate() 在此之后绘制结果。 这的工作方式类似于 #onPull(float, float),但返回已消耗的 deltaDistance 量。 如果当前为 #getDistance() 0 且 deltaDistance 为负值,则此函数将返回 0,并且绘制的值将保持不变。

此方法可用于从拉取或吸收中反转效果,并部分使用某些动作:

if (deltaY < 0) {
                    float consumed = edgeEffect.onPullDistance(deltaY / getHeight(), x / getWidth());
                    deltaY -= consumed * getHeight();
                    if (edgeEffect.getDistance() == 0f) edgeEffect.onRelease();
                }

Java文档android.widget.EdgeEffect.onPullDistance(float, float)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于