commonBuild method
Implementation
dynamic commonBuild(BuildContext context, BaseParam? baseParam) {
beforeBuild(context);
final WidgetBuildMode _widgetBuildMode = getBuildMode(baseParam);
dynamic _dynamic;
switch (_widgetBuildMode) {
case WidgetBuildMode.cupertino:
case WidgetBuildMode.forceUseCupertino:
// Check if native iOS implementation is enabled
final bool useNativeIOS = baseParam?.nativeIOS ?? false;
if (useNativeIOS) {
beforeBuildByCupertinoNative(context);
_dynamic = buildByCupertinoNative(context);
} else {
beforeBuildByCupertino(context);
_dynamic = buildByCupertino(context);
}
break;
case WidgetBuildMode.material:
beforeBuildByMaterial(context);
_dynamic = buildByMaterial(context);
break;
case WidgetBuildMode.forceUseMaterial:
// Default: wrap with an additional Material layer
beforeBuildByMaterial(context);
// Whether to disable ripple effect
final bool _withoutSplashOnCupertino = baseParam?.withoutSplashOnCupertino ?? withoutSplashOnCupertino;
if (_withoutSplashOnCupertino) {
_dynamic = BaseMaterialWidget.withoutSplash(
theme: BaseTheme.of(context).materialTheme ?? Theme.of(context),
child: buildByMaterial(context),
);
} else {
_dynamic = BaseMaterialWidget(child: buildByMaterial(context));
}
break;
case WidgetBuildMode.disabled:
_dynamic = Container();
break;
}
return _dynamic;
}