Package io.flutter.embedding.engine.systemchannels

## Interface PlatformViewsChannel.PlatformViewsHandler

- Enclosing class:
    PlatformViewsChannel

      public static interface PlatformViewsChannel.PlatformViewsHandler

  Handler that receives platform view messages sent from Flutter to Android through a given `PlatformViewsChannel`.

  To register a `PlatformViewsHandler` with a `PlatformViewsChannel`, see `PlatformViewsChannel.setPlatformViewsHandler(PlatformViewsHandler)`.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `clearFocus​(int viewId)` | Clears the focus from the platform view with a give id if it is currently focused.
    `void` | `createForPlatformViewLayer​(PlatformViewsChannel.PlatformViewCreationRequest request)` | The Flutter application would like to display a new Android `View`, i.e., platform view.
    `long` | `createForTextureLayer​(PlatformViewsChannel.PlatformViewCreationRequest request)` | The Flutter application would like to display a new Android `View`, i.e., platform view.
    `void` | `dispose​(int viewId)` | The Flutter application would like to dispose of an existing Android `View`.
    `void` | `offset​(int viewId, double top, double left)` | The Flutter application would like to change the offset of an existing Android `View`.
    `void` | `onTouch​(PlatformViewsChannel.PlatformViewTouch touch)` | The user touched a platform view within Flutter.
    `PlatformViewsChannel.PlatformViewBufferSize` | `resize​(PlatformViewsChannel.PlatformViewResizeRequest request)` | The Flutter application would like to resize an existing Android `View`.
    `void` | `setDirection​(int viewId, int direction)` | The Flutter application would like to change the layout direction of an existing Android `View`, i.e., platform view.
    `void` | `synchronizeToNativeViewHierarchy​(boolean yes)` | Whether the render surface of `FlutterView` should be converted to a `FlutterImageView` when a `PlatformView` is added.

- - ### Method Detail

    - #### createForPlatformViewLayer

          void createForPlatformViewLayer​(@NonNull
                                          PlatformViewsChannel.PlatformViewCreationRequest request)

      The Flutter application would like to display a new Android `View`, i.e., platform view.

      The Android View is added to the view hierarchy. This view is rendered in the Flutter framework by a PlatformViewLayer.

      Parameters:
        `request` - The metadata sent from the framework.

    - #### createForTextureLayer

          long createForTextureLayer​(@NonNull
                                     PlatformViewsChannel.PlatformViewCreationRequest request)

      The Flutter application would like to display a new Android `View`, i.e., platform view.

      The Android View is added to the view hierarchy. This view is rendered in the Flutter framework by a TextureLayer.

      Parameters:
        `request` - The metadata sent from the framework.
      Returns:
        The texture ID.

    - #### dispose

          void dispose​(int viewId)

      The Flutter application would like to dispose of an existing Android `View`.

    - #### resize

          PlatformViewsChannel.PlatformViewBufferSize resize​(@NonNull
                                                             PlatformViewsChannel.PlatformViewResizeRequest request)

      The Flutter application would like to resize an existing Android `View`.
      Parameters:
        `request` - The request to resize the platform view.
      Returns:
        The buffer size where the platform view pixels are written to.

    - #### offset

          void offset​(int viewId,
                      double top,
                      double left)

      The Flutter application would like to change the offset of an existing Android `View`.

    - #### onTouch

          void onTouch​(@NonNull
                       PlatformViewsChannel.PlatformViewTouch touch)

      The user touched a platform view within Flutter.

      Touch data is reported in `touch`.

    - #### setDirection

          void setDirection​(int viewId,
                            int direction)

      The Flutter application would like to change the layout direction of an existing Android `View`, i.e., platform view.

    - #### clearFocus

          void clearFocus​(int viewId)

      Clears the focus from the platform view with a give id if it is currently focused.

    - #### synchronizeToNativeViewHierarchy

          void synchronizeToNativeViewHierarchy​(boolean yes)

      Whether the render surface of `FlutterView` should be converted to a `FlutterImageView` when a `PlatformView` is added.

      This is done to syncronize the rendering of the PlatformView and the FlutterView. Defaults to true.