For UI that should differ slightly on iOS and Android, i.e. on different platforms, there must be a way to detect
You can do
defaultTargetPlatform == TargetPlatform.iOS
? kIOSTheme
: kDefaultTheme,
from import 'package:flutter/foundation.dart';
import 'dart:io' show Platform;
if (Platform.isAndroid) {
// Android-specific code
} else if (Platform.isIOS) {
// iOS-specific code
}
All options include:
Platform.isAndroid
Platform.isFuchsia
Platform.isIOS
Platform.isLinux
Platform.isMacOS
Platform.isWindows
You can also detect if you are running on the web using kIsWeb
, a global constant indicating if the application was compiled to run on the web:
import 'package:flutter/foundation.dart' show kIsWeb;
if (kIsWeb) {
// running on the web!
} else {
// NOT running on the web! You can check for additional platforms here.
}
Platform
documentation: https://docs.flutter.io/flutter/dart-io/Platform-class.htmlkIsWeb
documentation: https://api.flutter.dev/flutter/foundation/kIsWeb-constant.htmlimport 'dart:io' show Platform; //at the top
String os = Platform.operatingSystem; //in your code
print(os);