我创建了一个新的硬件配置文件,试图制作Galaxy S8 / S8 +的模拟器。我将屏幕尺寸设置为5.8 / 6.2英寸(取决于S8还是S8 +,但似乎这并不影响模拟器),将屏幕分辨率设置为与设备相同的1440 x 2960像素。模拟器看起来与实际设备完全不同。在真实的S8 +上测试我的应用程序发现其布局很糟糕,但在模拟器上它看起来相对有序,我注意到它使用了我Nexus 6模拟器(xxxhdpi)的dimens。使用的dimens值并不重要,因为我很乐意淘汰不再生产的Nexus 6。
因此,在我的启动器Java类中添加了一些代码,获取模拟器的尺寸,以下是我从S8模拟器中获得的结果:{density=3.5, width=1440, height=2792, scaledDensity=3.5, xdpi=560.0, ydpi=560.0}
除了高度显示2792而不是2960(我想这应该是正确的),我认为我找到了问题所在-密度为3.5,和Nexus 6的密度一样。因此,我正在创建的模拟器不适用于Galaxy S8,这在与真实的S8 +比较时,我的应用程序显示为扭曲,很明显。据我所知,Galaxy S8的密度为4,而不是3.5。IDE显示该设备具有560dpi。现在我需要能够创建一个密度为4,并且已经放下相同规格的模拟器。我该怎么做?如何在不使用真正设备的情况下测试Galaxy S8? IDE没有提供此设备的预配置模拟器。
非常感谢您的帮助。