Xåp*_* - 4 android resolution dpi pixels android-virtual-device
在Eclipse的AVD中,我创建了两个除密度值之外相同的设备.装置1具有abstracted LCD density240; 设备2具有160.两者的分辨率为480x800.
有人可以向我解释为什么设备1屏幕上的元素看起来"更大"吗?由于它们具有相同的分辨率,它们不应该显示相同数量的像素吗?如果有的话,因为设备1具有更高的密度,不应该显示更多的细节/屏幕空间?
设备1
设备2
Screeshots - (点击查看大图)
如上所示,我在两个设备上的随机屏幕位置绘制一个半径为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,这样就可以自动设置大小.
以下是缩放图像以保留真实设备的比例:

如您所见,圆圈具有相同的物理尺寸,操作栏,图标和状态栏也是如此.
| 归档时间: |
|
| 查看次数: |
3001 次 |
| 最近记录: |