如何在Android模拟器上获得1:1像素?

时间:2013-08-30 19:42:04

标签: android android-emulator resolution pixel

我创建了一个没有屏幕缩放的AVD,但像素与我的屏幕不匹配。

有没有解决这个问题?

enter image description here

屏幕配置为720宽,但在屏幕上显示为413。

编辑:更多的体验,由@Fallenreaper回答:

如果我在浏览器中加载500px宽的图像,它仍然大于屏幕(应该是720px宽)。

enter image description here

这是500px图像,有两个屏幕截图,向右滚动显示它比720px屏幕大。

编辑2: 这可能与此http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html

有关

2 个答案:

答案 0 :(得分:3)

Android Virtual Device Manager启动模拟器时,您必须选中Scale display to real size,然后指定计算为Screen Size (in) Monitor dpi的{​​{1}}和Scale {1}}(或1.0,如果你在OSX上的视网膜显示器上)。

就我而言,我指定了0.50 4.7 inScreen Size 160,这产生了Monitor dpi 0.50。当我拍摄我的模拟器的屏幕截图时,它现在是我希望在设备上看到的像素像素。

从命令行启动模拟器时,还可以指定命令行选项Scale

如果您的模拟器已在运行,您可以通过发送-scale 1.0使用emulator console调整比例。这对我来说太大了,无法在我的Retina MBP上使用。

使用window scale 1.0发现正在运行的模拟器。您应该看到如下输出:

adb devices

然后,您可以连接到设备并发送缩放命令:

$ adb devices
List of devices attached 
emulator-5554   device

你可以在一个带有netcat的脚本中执行它:

$ telnet localhost 5554
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Android Console: type 'help' for a list of commands
OK
window scale .50
OK
^]
telnet> quit
Connection closed.

答案 1 :(得分:0)

每个设备具有不同的像素密度,因此如果要将其调整为1:1的比例,则需要确定设备的像素密度,并与主机的设备进行比较...然后相应地缩放。

不同的像素密度会导致1比另一个更大,所以如果你正在设计一个屏幕,你的文本框看起来就像是30x 150,但在设备上,30x150会小得多。

资料来源:我为WebViews做了iOS和Android Web App Dev,我也是这样做的,因为我每天都这样做。