EdgeEffect.OnPullDistance(Single, Single) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Una vista debe llamar a esto cuando el usuario extrae el contenido de un borde.
[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
Parámetros
- deltaDistance
- Single
Cambie a distancia desde la última llamada. Los valores pueden ser 0 (sin cambios) a 1.f (longitud completa de la vista) o valores negativos para expresar el cambio hacia el borde alcanzado para iniciar el efecto.
- displacement
- Single
Desplazamiento desde el lado inicial del efecto del punto que inicia la extracción. En el caso de tocar esto es la posición del dedo. Los valores pueden ser de 0 a 1.
Devoluciones
Cantidad de deltaDistance que se consumió, un número entre 0 y deltaDistance.
- Atributos
Comentarios
Una vista debe llamar a esto cuando el usuario extrae el contenido de un borde. Esto actualizará el estado del efecto visual actual y su animación asociada. La vista host debe siempre android.view.View#invalidate() después de esto y dibujar los resultados en consecuencia. Esto funciona de forma similar a #onPull(float, float), pero devuelve la cantidad de deltaDistance que se ha consumido. Si el #getDistance() valor es actualmente 0 y deltaDistance es negativo, esta función devolverá 0 y el valor dibujado permanecerá sin cambios.
Este método se puede usar para invertir el efecto de una extracción o absorción y consumir parcialmente parte de un movimiento:
if (deltaY < 0) {
float consumed = edgeEffect.onPullDistance(deltaY / getHeight(), x / getWidth());
deltaY -= consumed * getHeight();
if (edgeEffect.getDistance() == 0f) edgeEffect.onRelease();
}
Java documentación para android.widget.EdgeEffect.onPullDistance(float, float).
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.