initSurfaceAndroidView method Null safety
- {required int id,
- required String viewType,
- required TextDirection layoutDirection,
- dynamic creationParams,
- MessageCodec? creationParamsCodec,
- VoidCallback? onFocus}
Creates a controller for a new Android view.
id
is an unused unique identifier generated with platformViewsRegistry.
viewType
is the identifier of the Android view type to be created, a
factory for this view type must have been registered on the platform side.
Platform view factories are typically registered by plugin code.
Plugins can register a platform view factory with
PlatformViewRegistry#registerViewFactory.
creationParams
will be passed as the args argument of PlatformViewFactory#create
creationParamsCodec
is the codec used to encode creationParams
before sending it to the
platform side. It should match the codec passed to the constructor of PlatformViewFactory.
This is typically one of: StandardMessageCodec, JSONMessageCodec, StringCodec, or BinaryCodec.
onFocus
is a callback that will be invoked when the Android View asks to get the
input focus.
The Android view will only be created after AndroidViewController.setSize is called for the first time.
The id,
viewType, and layoutDirection
parameters must not be null.
If creationParams
is non null then creationParamsCodec
must not be null.
Alias for initAndroidView. This factory is provided for backward compatibility purposes. In the future, this method will be deprecated.
Implementation
static SurfaceAndroidViewController initSurfaceAndroidView({
required int id,
required String viewType,
required TextDirection layoutDirection,
dynamic creationParams,
MessageCodec<dynamic>? creationParamsCodec,
VoidCallback? onFocus,
}) {
assert(id != null);
assert(viewType != null);
assert(layoutDirection != null);
assert(creationParams == null || creationParamsCodec != null);
final SurfaceAndroidViewController controller = SurfaceAndroidViewController._(
viewId: id,
viewType: viewType,
layoutDirection: layoutDirection,
creationParams: creationParams,
creationParamsCodec: creationParamsCodec,
);
_instance._focusCallbacks[id] = onFocus ?? () {};
return controller;
}