Sprache

IWindowManager.TransferTouchGesture Methode

Definition

Übertragen Sie die aktuell ausgeführte Touchgeste von transferFromToken in das transferToToken.

[Android.Runtime.Register("transferTouchGesture", "(Landroid/window/InputTransferToken;Landroid/window/InputTransferToken;)Z", "GetTransferTouchGesture_Landroid_window_InputTransferToken_Landroid_window_InputTransferToken_Handler:Android.Views.IWindowManager, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=35)]
public virtual bool TransferTouchGesture(Android.Window.InputTransferToken transferFromToken, Android.Window.InputTransferToken transferToToken);
[<Android.Runtime.Register("transferTouchGesture", "(Landroid/window/InputTransferToken;Landroid/window/InputTransferToken;)Z", "GetTransferTouchGesture_Landroid_window_InputTransferToken_Landroid_window_InputTransferToken_Handler:Android.Views.IWindowManager, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=35)>]
abstract member TransferTouchGesture : Android.Window.InputTransferToken * Android.Window.InputTransferToken -> bool
override this.TransferTouchGesture : Android.Window.InputTransferToken * Android.Window.InputTransferToken -> bool

Parameter

transferFromToken
InputTransferToken

InputTransferToken für die derzeit aktive Geste

transferToToken
InputTransferToken

das InputTransferToken, an das die Geste übertragen werden soll.

Gibt zurück

Gibt an, ob der Touchdatenstrom übertragen wurde.

Attribute

Hinweise

Übertragen Sie die aktuell ausgeführte Touchgeste von transferFromToken in das transferToToken.

<br> Dies erfordert, dass das fromToken und toToken miteinander verknüpft sind. Die Zuordnung kann je nach Erstellung des eingebetteten Fensters auf unterschiedliche Weise erfolgen. <ul><li> Creating a SurfaceControlViewHost and passing the host's InputTransferToken for SurfaceControlViewHost#SurfaceControlViewHost(Context, Display, InputTransferToken). </li li><> Registrieren eines SurfaceControl für die Eingabe und Übergabe des Hosttokens an ein #registerBatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Choreographer, SurfaceControlInputReceiver) oder .#registerUnbatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Looper, SurfaceControlInputReceiver) </li></ul>

Der Host ist wahrscheinlich ein AttachedSurfaceControl Hosttoken, sodass das Hosttoken über AttachedSurfaceControl#getInputTransferToken()abgerufen werden kann.

<br> Wenn der Host touchgeste in das eingebettete Übertragen möchte, kann es das eingebettete Token über SurfaceControlViewHost.SurfacePackage#getInputTransferToken() oder den von ihm #registerBatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Choreographer, SurfaceControlInputReceiver) zurückgegebenen Wert abrufen oder #registerUnbatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Looper, SurfaceControlInputReceiver) sein eigenes Token als transferFromToken übergeben.

Wenn der eingebettete Benutzer die Touchgeste an den Host übertragen möchte, kann es ein eigenes Token als transferFromToken übergeben und die zugehörigen Hosts InputTransferToken als transferToToken verwenden.

<br> Wenn die Toucheingabe übertragen wird, erhält das Fenster, das derzeit per Toucheingabe empfangen wird, eine ACTION_CANCEL und empfängt keine weiteren Eingabeereignisse für diese Geste.

Das übertragene Fenster empfängt ein ACTION_DOWN Ereignis und dann den Rest der Eingabeereignisse für diese Geste. Es empfängt keine der vorherigen Ereignisse dieser Geste, die das ursprüngliche Fenster empfangen hat.

Die transferTouchGesture-API funktioniert nur für die aktuelle Geste. Wenn eine neue Geste eintrifft, führt der Eingabe-Dispatcher eine neue Runde der Treffertests durch. Wenn das Hostfenster also immer noch das erste ist, was berührt wird, erhält es die neue Geste erneut. Es ist erneut an der Host, diese neue Geste auf den eingebetteten Zu übertragen.

<br> Der Aufruf kann aus den folgenden Gründen fehlschlagen: <ul><li> Caller versucht, die Touchgeste von einem Token zu übertragen, das keine aktive Geste hat. </li Li><> Die Geste wird an ein Token übertragen, das nicht mit dem transferFromToken verknüpft ist. Wenn der Anrufer z. B. an ein SurfaceControlViewHost nicht an das Hostfenster SurfaceView#setChildSurfacePackage(SurfacePackage)angefügtes Überträgt. </li Li><> Die aktive Geste wird abgeschlossen, bevor die Übertragung abgeschlossen ist, z. B. bei einem Fling. </li></ul>

Java Dokumentation für android.view.WindowManager.transferTouchGesture(android.window.InputTransferToken, android.window.InputTransferToken).

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: