flutter - 如何在 Flutter 应用中获取屏幕大小?

我以整页模式显示从云存储加载的图像。我可以向图像 URL 提供参数以请求特定大小,例如匹配最长的屏幕尺寸。这样,如果屏幕只有 1334 像素,我就不必加载 1920 像素的图像。

如何获取屏幕尺寸作为参数传递?

最佳答案

您可以使用 MediaQuery类,以及相关的 MediaQueryData确定您的屏幕尺寸并获取正确的图像。然后,您可以将 MediaQueryData.size 成员与一些预定义的屏幕尺寸进行比较 - 这将为您提供逻辑像素的数量。

例如在一个widget的build方法中:

class MyWidget extends StatelessWidget {

  Widget build(BuildContext context) {
     // retrieve the mediaQuery data
     final mediaQueryData = MediaQuery.of(context);
     if (mediaQueryData.size < const Size(100.0, 100.0)) {
       // build small image.
     } else {
       // build big image.
     }
  }

}

https://stackoverflow.com/questions/49664059/

相关文章:

dart - 向 Flutter 应用添加不同的路由/屏幕

dart - 如何使用 flutter 删除 Firestore 文档中的字段

google-maps - 使用 Flutter Google Maps 插件自定义标记

flutter - 如何在 flutter 应用程序中无上下文导航?

flutter - 获取相对于小部件的点击位置

dart - 如何在没有用户交互的情况下发送短信?

dart - 成功验证后不会调用 Flutter TextFormField onSave()

dart - Flutter:如何检测键盘按Enter?

flutter - 如何从 Dart 中的 future 返回错误?

android-studio - 在指定位置找不到 Flutter SDK - 在 Android