【问题标题】:Why didn't I get the emulator screen resolution I asked for?为什么我没有得到我要求的模拟器屏幕分辨率?
【发布时间】:2014-01-25 04:48:09
【问题描述】:

我尝试创建三星 Galaxy II i9100 的仿真器。我真正关心的是屏幕尺寸和像素密度。我创建了以下设备定义:

还有这个虚拟设备:

但是模拟的设备看起来像这样:

为什么生成的尺寸是 480x736?并且dpi值略有偏差。


ETA:这是我的应用程序的样子:

这是 ShowResources 在实际三星 S2 i9100 上的输出

【问题讨论】:

  • 我下载了 Gennymotion。它没有解决我的问题,但我必须说它是一个非常漂亮的模拟器,而且比 Google 的更容易配置 10 倍。

标签: android screen emulation samsung-mobile genymotion


【解决方案1】:

第一个 Galaxy S2 是 HDPI,而不是 TVDPI,另请注意,TVDPI 不是 Android 文档中的“主要密度组”:

介于 mdpi 和 hdpi 之间的屏幕资源;大约 213dpi。这不被视为“主要”密度组。它主要是 用于电视,大多数应用程序不需要它——提供 mdpi 和 hdpi 资源对于大多数应用程序和系统来说已经足够了 将酌情缩放它们。如果您认为有必要提供 tvdpi 资源,您应该将它们的大小设置为 1.33*mdpi。为了 例如,用于 mdpi 屏幕的 100px x 100px 图像应该是 133px x tvdpi 为 133 像素。 来源:http://developer.android.com/guide/practices/screens_support.html

关于为什么屏幕报告为 480x736,系统软按钮(返回、主页、最近的应用程序)使用 64 像素。要删除软按钮,您必须使用/创建将按钮选项设置为“硬件”的设备定义,如下所示: 或者,您可以使用 Nexus S 的设备定义,它将具有正确的按钮和 DPI 设置。

【讨论】:

  • 谢谢;我试试看。
  • 好吧,我得到了我要求的像素大小,但模拟的 dpi 是 240,尽管它应该是 ~217。我手动编辑了 devices.xml 并将 dpi 设置为 217,但没有达到我的预期。我还编辑了 config.ini 文件并重新启动了 Eclipse。没有喜悦。 Google 为什么讨厌我们?
  • 我猜你是 Android 开发新手。有一个“DPI 桶”的概念,它将所有可能的 Android 屏幕密度分组为 LDPI (120)、MDPI (160)、HDPI (240)、XHDPI (320)、XXHDPI (480)。这为开发人员提供了一组他们应该构建其艺术资产的目标,否则如果您必须为 217,233,252ppi 设备构建一组艺术作品......等等,这将非常困难。在现实世界中,我发现它非常有效嗯,这就是为什么 Android 设备的屏幕尺寸和分辨率如此多样化,而 iOS 设备仅限于屏幕密度翻倍。
  • 如果您还没有,我强烈建议您在这里阅读所有内容:developer.android.com/guide/practices/screens_support.html
  • 其实我是一名资深的Android开发者,对屏幕支持非常了解。不幸的是,我正在尝试在三星 S2 i9100 上调试一个问题,其中我的应用程序底部的少量内容被切断。不管我如何配置模拟器,我的应用程序看起来总是很完美,但是我的客户给我发了一个显示问题的屏幕截图。上次出现这个问题,我真的去三星总部借了一个设备来测试,但我不想再这样做了,所以我希望模拟 i9100 完全来重现问题.
猜你喜欢
  • 2016-06-28
  • 1970-01-01
  • 2023-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
相关资源
最近更新 更多