[英]Flutter - dart.ui no method 'platformViewRegistry'
我正在处理 Flutter web,我想呈现一个 html 代码。 由于 flutter_webview_plugin 不支持 flutter web 但我正在使用 IFrameElement 和 HtmlElementView。 但是我在使用 dart.ui 时遇到了这个问题,没有定义platformViewRegistry
方法。
错误信息:
名称“platformViewRegistry”通过前缀“ui”引用,但未在使用该前缀导入的任何库中定义。
import 'dart:ui' as ui;
......
ui.platformViewRegistry.registerViewFactory(
createdViewId,
(int viewId) => html.IFrameElement()
..width = MediaQuery.of(context).size.width.toString() //'800'
..height = MediaQuery.of(context).size.height.toString() //'400'
..srcdoc = """<!DOCTYPE html><html>
<head><title>Page Title</title></head><body><h1>This is a Heading</h1><p>This is a paragraph.</p></body></html>"""
..style.border = 'none');
示例代码来自: https://stackoverflow.com/a/60089273/12789200
我阅读了一些解决方案来解决这个问题。 但是我不想降级我的 flutter 版本。 由于在过去的一个月里 Flutter 发生了很大的变化
Flutter 医生
[√] Flutter (Channel beta, 1.22.1, on Microsoft Windows [Version 10.0.19041.508], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[√] Chrome - develop for the web
[√] Android Studio (version 4.0)
[√] VS Code (version 1.49.3)
[√] Connected device (3 available)
这个问题还有其他解决方案吗? 或者另一个例子,我可以在 Flutter Web 上使用 WebView。
据我所知,我已经尝试了几种解决方案,显然'dart:ui'
package 中存在问题。我尝试过的解决方案是:
**analysis_options.yaml**
//ignore: undefined_prefixed_name
所有这些解决方案都涉及其他错误,解决方案是使用一个名为 package 的 universal_ui 来自https://pub.dev/packages/universal_ui ,这显然与'dart:ui'
package 相同,但包含所有方法. 希望这对你有用!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.