Sprache

EdgeEffect.OnPullDistance(Single, Single) Methode

Definition

Eine Ansicht sollte dies aufrufen, wenn Inhalte vom Benutzer von einem Rand entfernt werden.

[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

Parameter

deltaDistance
Single

Abstand seit dem letzten Anruf ändern. Werte können 0 (keine Änderung) in 1,f (volle Länge der Ansicht) oder negative Werte sein, um die Zurückänderung in Richtung des Rands auszudrücken, die erreicht wurde, um den Effekt zu initiieren.

displacement
Single

Die Verschiebung von der Ausgangsseite des Effekts des Punkts, der den Pull initiiert. Bei Toucheingabe ist dies die Fingerposition. Die Werte können zwischen 0 und 1 stehen.

Gibt zurück

Die Menge, die deltaDistance verbraucht wurde, eine Zahl zwischen 0 und deltaDistance.

Attribute

Hinweise

Eine Ansicht sollte dies aufrufen, wenn Inhalte vom Benutzer von einem Rand entfernt werden. Dadurch wird der Status des aktuellen visuellen Effekts und der zugehörigen Animation aktualisiert. Die Hostansicht sollte immer android.view.View#invalidate() danach angezeigt und die Ergebnisse entsprechend gezeichnet werden. Dies funktioniert ähnlich wie #onPull(float, float), gibt jedoch die Menge zurück, die deltaDistance verbraucht wurde. Wenn dies #getDistance() aktuell 0 ist und deltaDistance negativ ist, gibt diese Funktion 0 zurück, und der gezeichnete Wert bleibt unverändert.

Diese Methode kann verwendet werden, um den Effekt von einem Ziehen oder Absorbieren umzukehren und teilweise eine Bewegung zu verbrauchen:

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

Java Dokumentation für android.widget.EdgeEffect.onPullDistance(float, float).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: