首页 > 解决方案 > 模拟 Android 设备:如何获得比例/像素比以匹配具有非标准密度的物理手机?

问题描述

我的模拟 android 设备具有MediaQuery.devicePixelRatio与我的物理设备(Samsung Galaxy S21 Ultra)不同的比例值(颤振),因此模拟设备(3.0x)上的所有尺寸都不同于我的物理设备(3.5x)上的所有尺寸。我已确保在模拟器中正确设置了设备大小和屏幕分辨率。我想问题是像素比率3.5x不属于“官方”密度桶(xxhdpi 有3.0x,xxxhdpi 有4.0x)。

如何更改devicePixelRatio模拟器中的 ,以便正确反映真实手机上的外观?为什么它首先会偏离?

标签: androidflutterandroid-emulator

解决方案


是的,很有可能...您需要更改PATH 中的config.ini文件:

.android/avd/<device_name>.avd/config.ini

您必须更改以下属性:

hw.height、hw.width 和 hw.density

密度是dpi。因此,您可以将密度更改为设备的密度或更稳定

选项是更改 hw.height 和 hw.width,其值使用以下公式计算:

寻找

DPR : original_ppi / 150 (标准ppi)

找到视口=原始分辨率/ DPR

emulator_DPR =提及 DPR(hw.density) / 150

现在hw.height x hw.widht = viewport * emulator_DPR


推荐阅读