EdgeEffect.OnPullDistance(Single, Single) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当用户从边缘拉取内容时,视图应调用此内容。
[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)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。