EdgeEffect.OnPullDistance(Single, Single) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.