gpt4 book ai didi

android - 为什么像素密度较高的设备屏幕空间较小? ( eclipse AVD)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:47 25 4
gpt4 key购买 nike

在 Eclipse 的 AVD 中,我创建了两个相同的设备,除了它们的密度值。设备 1 的抽象 LCD 密度为 240;设备 2 有 160。两者的分辨率都是 480x800。

有人可以向我解释为什么设备 1 屏幕上的元素看起来“更大”吗?由于它们具有相同的分辨率,它们不应该显示相同数量的像素吗?如果有的话,因为设备 1 具有更高的密度,它不应该显示更多细节/屏幕空间吗?

设备 1

Device_1_Screenshot

设备 2

Device_2_Screenshot

屏幕截图 -(点击查看大图)

如上所示,我在两个设备上的随机屏幕位置绘制了一个半径为 15dp 的圆。设备 2 上的圆圈肯定更小,操作栏也是如此。这是为什么?

最佳答案

您使用的是 dp,而不是物理像素。 dp 尝试从物理尺寸中抽象出来,并为用户提供相同物理尺寸的 GUI 元素。因此,如果一台设备上的像素较小,您需要使用更多的物理像素才能获得与像素较大的设备相同的效果。

所以:800 像素/每英寸 240 像素 = 3 1/3 英寸(该屏幕尺寸的物理长度)。一个像素的大小:1 像素/240 像素每英寸 = 0,004 英寸。800 像素/每英寸 160 像素 = 5 英寸。一个像素的大小:1 像素/160 像素每英寸 = 0,006 英寸。

因此,在分辨率(像素数)相同的情况下,低密度设备中的像素明显更大(每个维度大约大 50%)。因此,您需要较少的物理像素来绘制圆圈以显示 15 dp 的圆圈。

简单地说:低 dpi 意味着更大的像素。相同的分辨率(像素数)意味着较低 dpi 的设备具有更大的屏幕。

因此,在物理设备上,这些圆圈在不同尺寸的设备上具有相同的物理尺寸。但是您的模拟器窗口具有相同 大小,出于速度原因,一个物理像素映射到计算机屏幕上的一个物理像素。因此,您在低 dpi 设备上使用较少 像素,但使用相同大小的物理像素绘制它们。解决方案:您需要调整模拟器窗口的大小,使其与真实 大小相匹配。我只是无权访问我的 Android SDK 安装,但 IIRC 您可以在 AVD 启动选项中设置(计算机)屏幕 dpi,以便自动设置大小。

以下是经过缩放以保留真实设备比例的图像:

160 dpi device 240 dpi devce

如您所见,圆圈具有相同的物理尺寸,操作栏、图标和状态栏也是如此。

关于android - 为什么像素密度较高的设备屏幕空间较小? ( eclipse AVD),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13456835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com