Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart MediaQuery在颤振中的正确使用_Dart_Flutter - Fatal编程技术网

Dart MediaQuery在颤振中的正确使用

Dart MediaQuery在颤振中的正确使用,dart,flutter,Dart,Flutter,使用MediaQuery的最佳实践是什么?该应用程序将用于不同的屏幕大小,因此硬编码小部件的宽度和高度可能是一个问题 我很难理解MediaQuery类的不同用途。我试着在网上搜索,但没有找到很多例子。如果有人能帮助我理解这个类,或者提供一个我可以用来理解这个MediaQuery类的链接,那就太好了 将有以下几点: 例如,MediaQuery.of(context).size.width-不会给出物理设备测量的确切宽度(以像素为单位),而是以逻辑像素为单位。要获得准确的物理设备测量值,您需要执行

使用MediaQuery的最佳实践是什么?该应用程序将用于不同的屏幕大小,因此硬编码小部件的宽度和高度可能是一个问题


我很难理解MediaQuery类的不同用途。我试着在网上搜索,但没有找到很多例子。如果有人能帮助我理解这个类,或者提供一个我可以用来理解这个MediaQuery类的链接,那就太好了

将有以下几点:

  • 例如,
    MediaQuery.of(context).size.width
    -不会给出物理设备测量的确切宽度(以像素为单位),而是以逻辑像素为单位。要获得准确的物理设备测量值,您需要执行以下操作:
    MediaQuery.of(context).size.width*MediaQuery.of(context).devicePixelRatio
    • MediaQuery.of(context).padding.top
      是状态栏的高度
    • kToolbarHeight
      是AppBar的高度
    • 如果有底部导航栏,高度为
      kBottomNavigationBarHeight
因此,要扣除上面的所有值,我们可以这样做:
MediaQuery.of(context).size.height-MediaQuery.of(context).padding.top-kToolbarHeight-kBottomNavigationBarHeight


如果您仍在寻找问题的答案,我早就把本教程整理好了。我希望有帮助

是的,尽量避免静态高度。MediaQuery用于获取屏幕的某些方面,但必要时还应与AspectRatio结合使用。还可以考虑更灵活的布局小部件,如灵活、FITBox、扩展、堆栈等等。虽然这个链接可以回答这个问题,但是最好把答案的主要部分包括在这里,并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能无效。-编辑以上内容以获得更多指导。