createState method

  1. @override
State<StatefulWidget> createState()
override

Creates the mutable state for this widget at a given location in the tree.

Subclasses should override this method to return a newly created instance of their associated State subclass:

@override
State<SomeWidget> createState() => _SomeWidgetState();

The framework can call this method multiple times over the lifetime of a StatefulWidget. For example, if the widget is inserted into the tree in multiple locations, the framework will create a separate State object for each location. Similarly, if the widget is removed from the tree and later inserted into the tree again, the framework will call createState again to create a fresh State object, simplifying the lifecycle of State objects.

Implementation

@override
State<StatefulWidget> createState() {
  switch (defaultTargetPlatform) {
    case TargetPlatform.android:
      return _StartAppAndroidViewState(
        'com.startapp.flutter.Native',
        creationParams: {
          'adId': _ad._id,
          'width': width,
          'height': height,
        },
        width: width,
        height: height,
        overlayBuilder: (context, setState) {
          return IgnorePointer(
            ignoring: ignorePointer,
            child: _builder(context, setState, _ad),
          );
        },
      );
    case TargetPlatform.iOS:
      return _StartAppiOSViewState(
        'com.startapp.flutter.Native',
        creationParams: {
          'adId': _ad._id,
          'width': width,
          'height': height,
        },
        width: width,
        height: height,
        overlayBuilder: (context, setState) {
          return IgnorePointer(
            ignoring: ignorePointer,
            child: _builder(context, setState, _ad),
          );
        },
      );
    default:
      throw UnsupportedError('Unsupported platform view');
  }
}