如何知道我的 Web Flutter 应用是在桌面上运行还是在移动设备上运行?
我不能使用 kIsWeb,因为它只能告诉应用是否为 Web 版本,而不能判断应用是否在 Web 上运行。
谢谢。
kIsWeb
来检测您是否处于web环境中。defaultTargetPlatform
获取默认平台(它将提供给您操作系统)*以下是我刚刚从Safari上的iOS调用defaultTargetPlatform
的测试:
要使用defaultTargetPlatform
,您需要导入以下内容:
import 'package:flutter/foundation.dart';
示例:
import 'package:flutter/foundation.dart';
final isWebMobile = kIsWeb &&
(defaultTargetPlatform == TargetPlatform.iOS ||
defaultTargetPlatform == TargetPlatform.android);
defaultTargetPlatform
已经具备Web功能,并且已为您处理了导航问题。您可以在此处查看其实现:https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/foundation/_platform_web.dartvar screenSize = MediaQuery.of(context).size;
final double width = screenSize.width;
final double height = screenSize.height - kToolbarHeight;