我创建了一个没有屏幕缩放的AVD,但像素与我的屏幕不匹配.
这有什么工作吗?
屏幕配置为720宽,但在我的屏幕上显示为413.
编辑:更多的体验,由@Fallenreaper回答:
如果我在浏览器中加载500px宽的图像,它仍然大于屏幕(应该是720px宽).
这是500px图像,有两个屏幕截图,向右滚动显示它比720px屏幕大.
编辑2:
这可能与此http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html有关
解决方法:
从Android虚拟设备管理器启动模拟器时,必须检查“缩放”显示为实际大小,然后指定“屏幕大小”(in)和“监视器”dpi,其计算为“缩放”值1.0(如果您在视网膜显示器上,则为0.50)在OSX上).
在我的例子中,我指定了一个4.7英寸的屏幕尺寸和一个160监视器dpi,它产生了0.50比例.当我拍摄我的模拟器的屏幕截图时,它现在是像素对像素,我希望在设备上看到它.
从命令行启动模拟器时,还可以指定命令行选项-scale 1.0.
如果您的模拟器已在运行,您可以通过发送窗口比例1.0来调整emulator console的比例.这对我来说太大了,无法在我的Retina MBP上使用.
使用adb设备发现正在运行的模拟器.你应该看到这样的输出:
$adb devices
List of devices attached
emulator-5554 device
然后,您可以连接到设备并发送scale命令:
$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.
你可以使用netcat在脚本中完成它:
$echo 'window scale 0.50' | nc localhost 5554