第一个问题:
如果我创建一个宽度设置为50(逻辑像素)的Container小部件,该小部件最终将占用多少物理像素?
假设答案是50 * devicePixelRatio并四舍五入为整数值是正确的吗?
第二个问题:
这个问题从技术上讲是第一个问题。假设我们有2个设备,每个设备具有相同的屏幕宽度,相同的分辨率但具有不同的屏幕高度。理论上,两个设备的逻辑像素宽度值应该相同。 但是,一个devicePixelRatio会更高。因此,最终的物理像素宽度值将有所不同,这可能会导致Container之一溢出,因为我的假设是最终的Container小部件宽度将乘以devicePixelRatio。
答案 0 :(得分:0)
假设答案是50 * devicePixelRatio并且将其四舍五入为整数值是正确的吗?
是
这个问题从技术上讲是第一个问题。假设我们有2个设备,每个设备具有相同的屏幕宽度,相同的分辨率但具有不同的屏幕高度。理论上,两个设备的逻辑像素宽度值应该相同。但是,一个devicePixelRatio会更高。因此,最终的物理像素宽度值将有所不同,这可能会导致Container之一溢出,因为我的假设是最终的Container小部件宽度将乘以devicePixelRatio。
说
dvp = 1
用于第一个设备,dvp = 2
用于第二个设备。因此,第一部手机中50
的宽度为
1 * 50 = 50
设备像素
第二个设备将是
2 * 50 = 100
设备像素
但是这并不意味着Container
width
将在第二部手机上2x
,并且您可能会在溢出错误中运行。根本没有!
实际上,在第一部手机50
中,设备像素用于创建50
逻辑像素框(清晰度较低),而在第二部电话中,100
中使用设备像素创建50
逻辑像素框(更清晰)