无法在 Flutter Web 中使用 MediaQuery
Posted
技术标签:
【中文标题】无法在 Flutter Web 中使用 MediaQuery【英文标题】:Unable to use MediaQuery in Flutter Web 【发布时间】:2021-04-02 22:29:23 【问题描述】:我正在尝试在 Flutter Web 中使用 MediaQuery,如下所示:
class Login extends StatefulWidget
@override
_LoginState createState() => _LoginState();
class _LoginState extends State<Login>
Size size;
MediaQueryData mediaQuerydata;
@override
Widget build(BuildContext context)
mediaQuerydata = MediaQuery.of(context);
size = MediaQuery.of(context).size;
return Container();
════════小部件库捕获的异常═════════════════════════════════════ ═ 在构建 LoginWithMobile$(dirty, dependencies: [MediaQuery], state: _LoginWithMobileState#2a7a8) 时引发了以下 UnsupportedError: 不支持的操作:Platform._operatingSystem
相关的导致错误的小部件是 LoginWithMobile$ lib/main.dart:84 抛出异常时,这是堆栈 dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 216:49 throw dart-sdk/lib/_internal/js_dev_runtime/patch/io_patch.dart 244:5 _operatingSystem dart-sdk/lib/io/platform_impl.dart 58:40 获取操作系统 dart-sdk/lib/io/platform.dart 65:45 获取 _operatingSystem dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 802:8 获取
颤振医生输出:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 1.25.0-8.1.pre, on macOS 11.1 20C69
darwin-x64, locale en-IN)
[✓] android toolchain - develop for Android devices (Android SDK
version 30.0.2)
[✓] Xcode - develop for ios and macOS (Xcode 12.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.0)
[✓] VS Code (version 1.52.1)
[✓] Connected device (2 available)
! Error: iPhone is not connected. Xcode will continue when
iPhone is connected. (code -13)
• No issues found!
【问题讨论】:
【参考方案1】:我不确定 MediaQuery 是否适用于 Flutter Web。您是否尝试过改用 LayoutBuilder?
【讨论】:
以上是关于无法在 Flutter Web 中使用 MediaQuery的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Flutter Web 中使用 MediaQuery
是否有可能 - 在 Flutter Web 应用程序中插入 google AdSense?