2011-12-13 51 views
0

我对Android文档困惑这个问题,所以我会在这里问他们的屏幕像素: 我对这个link的HTC Desire手机我看到它的像素为480×800和密度252Android的图像,密度和

  1. 当我试图让密度这样getResources()。getDisplayMetrics()。densityDpi我得到价值240而不是252
  2. 我有图像大小为400x113具有密度240(像素/英寸),当我尝试用getWidth和getHeight表示600和170的程序大小。
  3. 我的图片需要的大小是多少这款手机HTC Desire和它需要的密度。

谢谢。

回答

2
  1. Android将设备放入桶中:ldpi,mdpi,hdpi,xhdpi。欲望落入240dpi的hdpi桶中。正如你所看到的,252dpi非常接近240dpi。
  2. 默认的mdpi是160dpi。获取资源时,除非另有指定,否则将尝试将图像从原始密度缩放到新密度。 160:240 :: 400:600 :: 113:170。你可能把你的图像放在可绘制的文件夹中。
  3. 这个尺寸没问题,但是如果是hdpi设备,你应该把它放在drawable-hdpi文件夹中。 (你应该也可以在mdpi设备的drawable-mdpi文件夹中正确放置一个mdpi版本)。

有关支持多个屏幕和密度信息的详细信息,请通过this document进行阅读。

+0

感谢您的回答, 现在我明白它是如何工作的,但现在我有不同的问题。 我和前面说过的图像相同,我把它放在可绘制文件夹中,并尝试使用 size = getWidth()/(Density/160)计算图像大小,但是图像质量较差。那么我可以将我的图像设置为可绘制的,并且在将图像的宽度和高度用于计算时保持质量? 谢谢 – Kec 2011-12-13 20:05:17