当前位置: 首页 > 知识库问答 >
问题:

如何从Dart代码中检测主机平台?

慕容念
2023-03-14

对于iOS和Android的UI应该略有不同,即在不同的平台上,必须有一种方法来检测应用程序在哪个平台上运行,但我在文档中找不到。是什么?

共有1个答案

姜胤
2023-03-14
import 'dart:io' show Platform;

if (Platform.isAndroid) {
  // Android-specific code
} else if (Platform.isIOS) {
  // iOS-specific code
}

所有选项包括:

Platform.isAndroid
Platform.isFuchsia
Platform.isIOS
Platform.isLinux
Platform.isMacOS
Platform.isWindows

您还可以使用kisWeb来检测是否在web上运行,这是一个全局常量,指示应用程序是否编译为在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.
}
  • 平台文档:https://docs.flutter.io/flutter/dart-io/platform-class.html
  • kisWeb文档:https://api.flutter.dev/flutter/foundation/kisweb-constant.html
 类似资料:
  • 对于UI应该略有不同的iOS和Android,?

  • 我正在开发一款平台游戏,我想做一些基本的平台碰撞,遗憾的是我还是做不到。玩家的移动是这样计算的: 所有变量都是具有< code>x和< code>y值的向量。这和预期的一样,问题是有冲突。我的规则是: 当降落在平台上时停止坠落。 从平台运行时开始下降。 在跳跃过程中击中平台时停止向上移动。 撞墙时停止向一侧移动,但能够向相反方向移动。 检查底部是否与平台碰撞非常简单,但棘手的部分是检测哪一侧与平台

  • 问题内容: 如何实现垂直平面检测(即对于墙壁)? 问题答案: 编辑: 自ARKit 1.5(iOS 11.3)起,现在支持。只需使用。我出于历史目的保留了以前的帖子。 TL; DR 垂直平面检测还不是ARKit中的功能。这表明该功能可能正在开发中,将来可能会添加。如果它只是一个布尔值,则表明它是最终值。 确认书 我在WWDC17与苹果工程师的对话证实了这种怀疑。 说明 您可能会争辩说,为此创建一个

  • 当Android应用程序没有响应时,会弹出一个ANR对话框。我的问题是:Android平台如何检测ANR,并决定启动这样一个弹出对话框。

  • 问题内容: 如何检测代码是否在Eclipse IDE中运行 问题答案: 我不知道获取此类信息的通用方法。 一个建议: 当您在Tomcat中启动Java程序(或Web服务器)时,只需添加一个参数即可表明该程序是由Eclipse启动的。 您可以通过打开“打开运行对话框”(“运行”菜单),然后选择您的应用程序类型并在“参数”选项卡中添加a来实现。 在您的Java代码中,您可以检查属性的值: 这样,如果程

  • 问题内容: 从Java代码了解操作系统语言(语言环境)的正确方法是什么? 我努力了 等等 但它们不正确,实际上什么也没有显示Windows中可通过命令“ systeminfo”使用的“系统区域设置”。 请帮忙。 问题答案: Windows XP 命令显示了很多内容,但是相关信息是这样的: 要获取Java中的等效信息,请使用获取Java正在使用的语言环境,并使用Locale对象上的方法(如)来获取详