Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.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
flatter iOS-MediaQuery.of(context).size.width不提供像素宽度_Ios_Iphone_Flutter_Dart_Ios Simulator - Fatal编程技术网

flatter iOS-MediaQuery.of(context).size.width不提供像素宽度

flatter iOS-MediaQuery.of(context).size.width不提供像素宽度,ios,iphone,flutter,dart,ios-simulator,Ios,Iphone,Flutter,Dart,Ios Simulator,我正在编写一个新的flifter应用程序,在某个时候,我需要得到iOS设备的像素数。当我使用MediaQuery.of(context.size.width)时,它返回像素数除以3或2,具体取决于我使用的设备 例如,在我的iPhone5s上,屏幕宽度假定为640像素,但媒体查询返回320像素。在我的iPhoneXs上,宽度应该是1125像素,但它返回375像素 我们如何解决这个问题?我不确定,但我听说苹果不是在用像素,而是在用点的系统?这可能与 根据forMediaQuery.of(contex

我正在编写一个新的flifter应用程序,在某个时候,我需要得到iOS设备的像素数。当我使用
MediaQuery.of(context.size.width)时,它返回像素数除以3或2,具体取决于我使用的设备

例如,在我的iPhone5s上,屏幕宽度假定为640像素,但媒体查询返回320像素。在我的iPhoneXs上,宽度应该是1125像素,但它返回375像素

我们如何解决这个问题?我不确定,但我听说苹果不是在用像素,而是在用点的系统?这可能与

根据for
MediaQuery.of(context.size)

MediaQuery.of(context).size
返回媒体的大小(以逻辑像素为单位)

逻辑像素在不同设备上的视觉大小大致相同。物理像素是设备上实际硬件像素的大小。每个逻辑像素的物理像素数由devicePixelRatio描述

Flatter向您显示的是设备的逻辑像素。您可能正在寻找的(或定义为640像素和1125像素)是设备的物理像素

要获取设备的物理像素,您应该尝试

var devicePhysicalPixelWidth=MediaQuery.of(context).size.width*MediaQuery.of(context).devicePixelRatio

简单来说,
devicePhysicalPixelWidth=逻辑像素宽度*设备像素比率