单独的网络和移动颤振
separate web and mobile flutter
我想在我的 flutter 项目中将 web 和移动分开。我使用以下代码但无法在网络应用程序中工作(当我在 chrome 中使用此模式进行测试时)
onTap: () {
Platform.isAndroid || Platform.isIOS
? Navigator.push(context,
MaterialPageRoute(builder: (_) => ArticlePage(title, id)))
: launch(URL);
}
在网络应用程序中,我的按钮不起作用,而在移动设备中则可以。
有什么想法或建议吗?!
您可以:
1- 使用像 universal_io.
这样的包
2- 如果你不想使用一个包你需要创建两个文件
第一个platform_io.dart
import 'dart:io';
class QPlatform {
static const bool isWeb = false;
static final bool isIOS = Platform.isIOS || Platform.isMacOS;
}
第二个platfrom_web.dart
class QPlatform {
static const bool isWeb = true;
static final bool isIOS = false;
}
然后像这样导入到你想用的地方
import 'platform/platform_web.dart'
if (dart.library.io) 'platform/platform_io.dart';
// and use it
onTap: () {
QPlatform.isWeb
? launch(URL)
: Navigator.push(context,
MaterialPageRoute(builder: (_) => ArticlePage(title, id)));
}
这应该可以解决您的问题
我想在我的 flutter 项目中将 web 和移动分开。我使用以下代码但无法在网络应用程序中工作(当我在 chrome 中使用此模式进行测试时)
onTap: () {
Platform.isAndroid || Platform.isIOS
? Navigator.push(context,
MaterialPageRoute(builder: (_) => ArticlePage(title, id)))
: launch(URL);
}
在网络应用程序中,我的按钮不起作用,而在移动设备中则可以。 有什么想法或建议吗?!
您可以:
1- 使用像 universal_io.
这样的包2- 如果你不想使用一个包你需要创建两个文件
第一个platform_io.dart
import 'dart:io';
class QPlatform {
static const bool isWeb = false;
static final bool isIOS = Platform.isIOS || Platform.isMacOS;
}
第二个platfrom_web.dart
class QPlatform {
static const bool isWeb = true;
static final bool isIOS = false;
}
然后像这样导入到你想用的地方
import 'platform/platform_web.dart'
if (dart.library.io) 'platform/platform_io.dart';
// and use it
onTap: () {
QPlatform.isWeb
? launch(URL)
: Navigator.push(context,
MaterialPageRoute(builder: (_) => ArticlePage(title, id)));
}
这应该可以解决您的问题