Für die Benutzeroberfläche, die sich unter iOS und Android geringfügig unterscheiden sollte , dh auf verschiedenen Plattformen , muss es eine Möglichkeit geben, zu erkennen, auf welcher die App ausgeführt wird, aber ich konnte sie in den Dokumenten nicht finden. Was ist es?
137
Undefined name 'Platform'.dart(undefined_identifier)
Gibt es irgendwelche Voraussetzungen, um zu verwendenPlatform
?Dank Collin lautet die endgültige Antwort:
quelle
Obwohl
defaultTargetPlatform
es funktionieren wird, würde ich vorschlagen, es zu verwendenTheme.of(context).targetPlatform
. Dies ermöglicht das Testen des iOS-Verhaltens (dadefaultTargetPlatform
es sich immerTargetPlatform.android
um Tests handelt). Außerdem können Vorfahren Ihres Widgets die Zielplattform überschreiben, indem sie es in einTheme
Widget einschließen.quelle
if (Platform.isIOS) {//my iOS widgets}
Platform.isIOS
hat die gleichen Probleme wiedefaultTargetPlatform
. Es funktioniert nicht in Tests und kann vomTheme
Widget nicht überschrieben werden .quelle
Die meisten "Flattern" -Antworten lauten wie folgt:
quelle
Du kannst tun
von
import 'package:flutter/foundation.dart';
quelle
Sie können das Universal Platform-Paket verwenden:
https://pub.dev/packages/universal_platform
quelle
Es ist einfach, einfach die io-Bibliothek zu importieren
oder auf sehr einfache Weise
quelle