我正在使用颤振2.5.2。我有一个项目可用于网络和移动设备(Android / iOS)。
有一个特定的小部件,在部署 Web 时我需要使用该小部件的一种版本,它使用 JS 和 HTML 包。在针对移动设备进行部署时,我需要使用仅使用标准 Flutter 小部件的不同版本。(原因很复杂 - 我将 Unity 嵌入到 flutter 中)。
例如,我有这个web_player.dart网络版本:
import 'dart:html' as html;
import 'package:js/js.dart';
import 'package:flutter/material.dart';
@JS('loadPlayer')
external String loadPlayer();
class WebVersion extends StatelessWidget {
const WebVersion({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
// Use the HTML package and return an HtmlElementView
}
}
Run Code Online (Sandbox Code Playgroud)
此mobile_player.dart版本适用于移动设备:
class MobileVersion extends StatelessWidget {
const MobileVersion({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return …Run Code Online (Sandbox Code Playgroud)