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

Posted

技术标签:

【中文标题】模拟 Android 设备:如何获得比例/像素比以匹配具有非标准密度的物理手机?【英文标题】:Emulated Android device: How to get scale / pixel ratio to match physical phone with non-standard density? 【发布时间】:2021-12-04 18:12:29 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

您必须更改以下属性:

hw.height、hw.width 和 hw.density

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

选项是改变 hw.height 和 hw.width,计算值使用:

找到

DPRoriginal_ppi/150(标准 ppi)

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

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

现在 hw.height x hw.widht = 视口 * emulator_DPR

【讨论】:

以上是关于模拟 Android 设备:如何获得比例/像素比以匹配具有非标准密度的物理手机?的主要内容,如果未能解决你的问题,请参考以下文章

Android中文本的与比例无关的像素字体大小

设备错误:模拟器:utoconfig:-皮肤像素 2...在 VS 2019 中启动 android 设备时

Android 上的自定义裁剪

如何获得Android设备名称

移动端布局(如何解决边框问题)

如何根据屏幕的物理尺寸按比例缩放布局?