如何在Flutter应用程序中获取屏幕大小?

时间:2018-04-05 04:12:56

标签: flutter

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

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

1 个答案:

答案 0 :(得分:8)

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

例如,在窗口小部件的构建方法中:

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.
     }
  }

}