EdgeEffect.OnPullDistance(Single, Single) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Uma exibição deve chamar isso quando o conteúdo é retirado de uma borda pelo usuário.
[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
Altere a distância desde a última chamada. Os valores podem ser 0 (sem alteração) para 1.f (comprimento total da exibição) ou valores negativos para expressar a alteração de volta para a borda atingida para iniciar o efeito.
- displacement
- Single
O deslocamento do lado inicial do efeito do ponto que inicia o pull. No caso do toque, essa é a posição do dedo. Os valores podem ser de 0 a 1.
Retornos
A quantidade disso deltaDistance foi consumida, um número entre 0 e deltaDistance.
- Atributos
Comentários
Uma exibição deve chamar isso quando o conteúdo é retirado de uma borda pelo usuário. Isso atualizará o estado do efeito visual atual e sua animação associada. O modo de exibição do host deve sempre android.view.View#invalidate() após isso e desenhar os resultados adequadamente. Isso funciona da mesma forma #onPull(float, float), mas retorna a quantidade que deltaDistance foi consumida. Se o #getDistance() valor atualmente for 0 e deltaDistance for negativo, essa função retornará 0 e o valor desenhado permanecerá inalterado.
Esse método pode ser usado para reverter o efeito de um pull ou absorvê-lo e consumir parcialmente parte de um movimento:
if (deltaY < 0) {
float consumed = edgeEffect.onPullDistance(deltaY / getHeight(), x / getWidth());
deltaY -= consumed * getHeight();
if (edgeEffect.getDistance() == 0f) edgeEffect.onRelease();
}
Java documentação para android.widget.EdgeEffect.onPullDistance(float, float).
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.