Linguaggio

EdgeEffect.OnPullDistance(Single, Single) Metodo

Definizione

Una visualizzazione deve chiamare questa operazione quando il contenuto viene estratto da un bordo dall'utente.

[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

Parametri

deltaDistance
Single

Cambiare distanza dall'ultima chiamata. I valori possono essere da 0 (nessuna modifica) a 1,f (lunghezza intera della visualizzazione) o valori negativi per esprimere il cambiamento verso il bordo raggiunto per avviare l'effetto.

displacement
Single

Spostamento dal lato iniziale dell'effetto del punto che avvia il pull. Nel caso del tocco, questa è la posizione del dito. I valori possono essere compresi tra 0 e 1.

Valori restituiti

Quantità di deltaDistance utilizzata, un numero compreso tra 0 e deltaDistance.

Attributi

Commenti

Una visualizzazione deve chiamare questa operazione quando il contenuto viene estratto da un bordo dall'utente. In questo modo verrà aggiornato lo stato dell'effetto visivo corrente e dell'animazione associata. La visualizzazione host deve essere sempre android.view.View#invalidate() successiva a questa operazione e disegnare i risultati di conseguenza. Questa operazione funziona in modo analogo a #onPull(float, float), ma restituisce la quantità di deltaDistance che è stata utilizzata. Se l'oggetto #getDistance() è attualmente 0 ed deltaDistance è negativo, questa funzione restituirà 0 e il valore disegnato rimarrà invariato.

Questo metodo può essere usato per invertire l'effetto da un pull o assorbire e consumare parzialmente alcuni di un movimento:

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

per android.widget.EdgeEffect.onPullDistance(float, float).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a