如何在android emulator上获得1:1像素?
我创建了一个没有屏幕缩放的AVD,但是像素与我的屏幕不匹配 这方面有什么办法吗 屏幕配置为720宽,但在我的屏幕上显示为413 编辑:更多的经验,受@fallereneaper答案的激励: 如果我在浏览器中加载一个500px宽的图像,它仍然比屏幕大(应该是720px宽) 这是500px图像,带有两个屏幕截图,向右滚动显示它比720px屏幕大 编辑2:如何在android emulator上获得1:1像素?,android,android-emulator,resolution,pixel,Android,Android Emulator,Resolution,Pixel,我创建了一个没有屏幕缩放的AVD,但是像素与我的屏幕不匹配 这方面有什么办法吗 屏幕配置为720宽,但在我的屏幕上显示为413 编辑:更多的经验,受@fallereneaper答案的激励: 如果我在浏览器中加载一个500px宽的图像,它仍然比屏幕大(应该是720px宽) 这是500px图像,带有两个屏幕截图,向右滚动显示它比720px屏幕大 编辑2: 这可能与此有关每个设备都有不同的像素密度,因此如果要将其调整为1:1的比例,则需要确定设备的像素密度,并与主机的像素密度进行比较。。。然后进行
这可能与此有关每个设备都有不同的像素密度,因此如果要将其调整为1:1的比例,则需要确定设备的像素密度,并与主机的像素密度进行比较。。。然后进行相应的缩放 不同的像素密度会导致1比另一个大,因此如果你设计一个屏幕,你的文本框会看起来正确,就像30x150,但在设备上,30x150会小得多
来源:我做iOS和Android Web App Dev for WebView,我每天都做。当你从
Android Virtual Device Manager
启动模拟器时,你必须检查将显示缩放到真实大小,然后指定屏幕大小(in)
和监控dpi
,该dpi计算到标度
值1.0
(或0.50
,如果您在OSX上的视网膜显示器上)
在我的例子中,我在
屏幕大小
中指定了一个4.7和一个160
监视器dpi
,这产生了一个0.50
比例
。当我拍摄模拟器的屏幕截图时,我希望在设备上看到的是逐像素的
从命令行启动仿真器时,还可以指定命令行选项-scale 1.0
如果仿真器已在运行,则可以通过发送窗口比例1.0
来调整比例。这使得太大,我用在我的视网膜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
很好,但每个屏幕的dpi都是固定的。如果模拟器在我的桌面上运行,除非软件在软件中对其进行缩放,否则不可能有不同的dpi。否则,它不仅看起来大小不同,而且模糊。模拟器是像素完美的,这意味着无论我的显示器使用什么dpi,它都是418px。你可以通过我放在那里的图像测试来确认这一点。不同的模拟器模拟不同的手机、屏幕、操作系统等等。老实说,我不使用模拟器,因为硬件有一些问题。只需购买一部android手机并使用它即可。:)emulator有隐藏的开销,这会使某些事情变慢,或者只是不起作用。2016年的emulator非常非常快。但是控制工具现在有很多问题。1:1像素就好了。“不缩放”选项和这个不一样吗?如果是这样的话,它如何解释我不能在一个(缩放或不缩放)720px的虚拟设备屏幕中显示500px的屏幕?基于这个问题的标题,我希望答案能说明如何准确地看到设备上的屏幕,特别是当设备的分辨率高于我的显示器时。我找到的最佳答案是使用emulator的“屏幕截图”(摄像头图标)功能。这将以模拟设备的全分辨率在桌面上保存文件。