valueOf method
dynamic
valueOf(
- String key,
- dynamic value
)
Implementation
dynamic valueOf(String key, dynamic value) {
Map<String, dynamic>? _map;
// 先根据平台取值
if (kIsWeb && web != null) {
_map = web;
} else {
switch (defaultTargetPlatform) {
case TargetPlatform.android:
_map = android;
break;
case TargetPlatform.fuchsia:
_map = fuchsia;
break;
case TargetPlatform.iOS:
_map = iOS;
break;
case TargetPlatform.linux:
_map = linux;
break;
case TargetPlatform.macOS:
_map = macOS;
break;
case TargetPlatform.windows:
_map = windows;
break;
}
_map ??= others; // fallback to others if no platform match
// 再根据模式取值
switch (currentBaseMode) {
case BaseMode.cupertino:
_map ??= forceUseMaterial ? material : cupertino;
break;
case BaseMode.material:
_map ??= forceUseCupertino ? cupertino : material;
break;
}
}
dynamic result = _map != null ? _map[key] ?? value : value;
// Special handling for backgroundColor in forceUseMaterial mode
// Return null to let BaseScaffold use theme's scaffold background color
if (key == 'backgroundColor' && result == null && forceUseMaterial) {
return null; // This allows BaseScaffold to use Theme.of(context).scaffoldBackgroundColor
}
return result;
}