Lingua

IWindowManager.TransferTouchGesture Metodo

Definizione

Trasferire il movimento di tocco attualmente in corso da transferFromToken a transferToken.

[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

Parametri

transferFromToken
InputTransferToken

InputTransferToken per il movimento attualmente attivo

transferToToken
InputTransferToken

InputTransferToken in cui trasferire il movimento.

Valori restituiti

Indica se il flusso di tocco è stato trasferito.

Attributi

Commenti

Trasferire il movimento di tocco attualmente in corso da transferFromToken a transferToken.

<br> Questo richiede che fromToken e toToken siano associati tra loro. L'associazione può essere eseguita in modi diversi, a seconda della modalità di creazione della finestra incorporata. <ul><li> Creazione di un SurfaceControlViewHost oggetto e passaggio dell'host InputTransferToken per SurfaceControlViewHost#SurfaceControlViewHost(Context, Display, InputTransferToken). </li><> Registrazione di un oggetto SurfaceControl per l'input e il passaggio del token dell'host a #registerBatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Choreographer, SurfaceControlInputReceiver) o #registerUnbatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Looper, SurfaceControlInputReceiver). </li></ul>

È probabile che l'host sia un AttachedSurfaceControl oggetto in modo che il token host possa essere recuperato tramite AttachedSurfaceControl#getInputTransferToken().

<br> Quando l'host vuole trasferire il movimento tocco all'oggetto incorporato, può recuperare il token incorporato tramite SurfaceControlViewHost.SurfacePackage#getInputTransferToken() o usare il valore restituito da #registerBatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Choreographer, SurfaceControlInputReceiver) o #registerUnbatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Looper, SurfaceControlInputReceiver) e passare il proprio token come transferFromToken.

Quando l'oggetto incorporato vuole trasferire il movimento di tocco all'host, può passare il proprio token come transferFromToken e usare l'host InputTransferToken associato come transferToken

<br> Quando il tocco viene trasferito, la finestra che riceve il tocco ottiene un ACTION_CANCEL e non riceve altri eventi di input per questo movimento.

La finestra trasferita a riceve un evento ACTION_DOWN e quindi il resto degli eventi di input per questo movimento. Non riceve alcun evento precedente di questo gesto ricevuto dalla finestra di origine.

L'API transferTouchGesture funziona solo per il movimento corrente. Quando arriva un nuovo movimento, il dispatcher di input eseguirà un nuovo round di hit testing. Quindi, se la finestra host è ancora la prima cosa che viene toccata, riceverà di nuovo il nuovo gesto. Sarà di nuovo l'host a trasferire questo nuovo movimento all'incorporato.

<br> La chiamata può non riuscire per i motivi seguenti: <ul><li> Caller tenta di trasferire il movimento di tocco da un token che non ha un movimento attivo. </li><li> Il movimento viene trasferito a un token non associato a transferFromToken. Ad esempio, se il chiamante trasferisce a un SurfaceControlViewHost oggetto non collegato alla finestra host tramite SurfaceView#setChildSurfacePackage(SurfacePackage). </li li><> Il movimento attivo viene completato prima del completamento del trasferimento, ad esempio nel caso di una fuga. </li></ul>

per android.view.WindowManager.transferTouchGesture(android.window.InputTransferToken, android.window.InputTransferToken).

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