0

我想在我的颤振项目中将网络和移动设备分开。我使用下面的代码,但不能在网络应用程序中工作(当我用这种模式在 chrome 中测试时)

onTap: () {    
Platform.isAndroid || Platform.isIOS
            ? Navigator.push(context,
                MaterialPageRoute(builder: (_) => ArticlePage(title, id)))
            : launch(URL);
}

在网络应用程序中,我的按钮不起作用,而在移动设备中则起作用。任何想法或提示?!

4

1 回答 1

0

你可以:

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)));
}

这应该为您解决问题

于 2021-02-24T14:21:12.217 回答