createState method
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');
}
}