flutter 振动筛尺寸

iibxawm4  于 2022-12-24  发布在  Flutter
关注(0)|答案(1)|浏览(132)
Container(height:50, width:50)

为什么我定义了一个50px * 50px的容器(里面有一些文本),但是在三星屏上的容器比华为屏上的小很多,甚至有溢出。
如果在使用媒体查询时发生这种情况,我可以理解。
Related Question
有人能解释一下吗?

wgx48brx

wgx48brx1#

不同的设备具有不同的分辨率和dpi,这会导致微件在不同的设备上看起来更小/更大
Container(height:50, width:50)中,50不是像素单位,而是dp

px = dp * (dpi / 160)

例如,对于dpi为32010 dp的设备,我们有:10 * (320/160) = 20 px,1个dp等于2个px。
如果要将像素转换为设备大小单位,请尝试:

double convertFromPixel(double pixel){
    var size = MediaQuery.of(context).devicePixelRatio; //3.5
    var value = pixel / size; //3.5dp = 1px
    return value; 
  }

并用途:

Container(
    height: convertFromPixel(50), //50 pixel, height will auto size 
    width: convertFromPixel(50),
)

相关问题