Lenguaje

IWindowManager.TransferTouchGesture Método

Definición

Transfiera el gesto táctil actualmente en curso desde 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

Parámetros

transferFromToken
InputTransferToken

InputTransferToken para el gesto activo actualmente

transferToToken
InputTransferToken

InputTransferToken al que se va a transferir el gesto.

Devoluciones

Indica si se ha transferido la secuencia táctil.

Atributos

Comentarios

Transfiera el gesto táctil actualmente en curso desde transferFromToken a transferToken.

<br> Esto requiere que fromToken y toToken estén asociados entre sí. La asociación se puede realizar de diferentes maneras, dependiendo de cómo se cree la ventana incrustada. <ul><li> Creating a SurfaceControlViewHost and passing the host's InputTransferToken for SurfaceControlViewHost#SurfaceControlViewHost(Context, Display, InputTransferToken). </li li><> Registrando un SurfaceControl para la entrada y pasando el token del host a #registerBatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Choreographer, SurfaceControlInputReceiver) o .#registerUnbatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Looper, SurfaceControlInputReceiver) </li></ul>

Es probable que el host sea un AttachedSurfaceControl para que el token de host se pueda recuperar a través AttachedSurfaceControl#getInputTransferToken()de .

<br> Cuando el host quiere transferir el gesto táctil al incrustado, puede recuperar el token incrustado a través SurfaceControlViewHost.SurfacePackage#getInputTransferToken() de o usar el valor devuelto desde #registerBatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Choreographer, SurfaceControlInputReceiver) o #registerUnbatchedSurfaceControlInputReceiver(InputTransferToken, SurfaceControl, Looper, SurfaceControlInputReceiver) y pasar su propio token como transferFromToken.

Cuando el incrustado quiere transferir el gesto táctil al host, puede pasar su propio token como transferFromToken y usar el host InputTransferToken asociado como transferToken

<br> Cuando se transfiere la función táctil, la ventana que recibe la entrada táctil obtiene una ACTION_CANCEL y no recibe ningún evento de entrada adicional para este gesto.

La ventana transferida a recibe un evento ACTION_DOWN y, a continuación, el resto de los eventos de entrada para este gesto. No recibe ninguno de los eventos anteriores de este gesto que recibió la ventana de origen.

La API transferTouchGesture solo funciona para el gesto actual. Cuando llegue un nuevo gesto, el distribuidor de entrada realizará una nueva ronda de pruebas de posicionamiento. Por lo tanto, si la ventana host sigue siendo la primera cosa que se está tocándose, recibirá el nuevo gesto de nuevo. Volverá a ser hasta el host para transferir este nuevo gesto a la incrustada.

<br> La llamada puede producir un error por los siguientes motivos: <ul><li> Caller intenta transferir el gesto táctil desde un token que no tiene un gesto activo. </li li><> El gesto se transfiere a un token que no está asociado a transferFromToken. Por ejemplo, si el autor de la llamada se transfiere a una SurfaceControlViewHost ventana de host no asociada a través SurfaceView#setChildSurfacePackage(SurfacePackage)de . </li li><> El gesto activo se completa antes de que se complete la transferencia, como en el caso de un fling. </li></ul>

Java documentación para android.view.WindowManager.transferTouchGesture(android.window.InputTransferToken, android.window.InputTransferToken).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a