Android多屏尺寸和密度问题

时间:2010-12-10 18:08:45

标签: android screen-size

我对我的抽签有一个真正的问题,我似乎无法弄清楚。

问题在于:

屏幕尺寸约为320x480,480x800,480x854

然后最常见的密度为1.0(160)和1.5(240)

现在,在Droid上,屏幕尺寸为480x800,密度使用DisplayMetrics报告为1.5

在G1上,它是320x480并报告密度为1.0

但平板电脑设备报告的密度为480x800,密度为1.0(160)

所以,我疯了,因为我可以将320x480图像放在drawables-mdpi文件夹中,将480x800图像放在drawables-hdpi文件夹中,但是在平板电脑上,无论它是什么都没有调整大小任何东西到全屏。

非常感谢任何帮助。我只是希望我的所有320x480图像都可以扩展,无论设备如何。

5 个答案:

答案 0 :(得分:2)

您的清单中可能遗漏了一些标记,例如anyDensitysupports...。体面的平板电脑支持只有xlarge(我认为是姜饼)。

此外,如果您自己画画,则需要在画布上调用setTargetDensity(actualDensity),可绘制或位图(不记得三者中的哪一个)。

答案 1 :(得分:1)

你是如何应用这些图像的?您可以使用fill_parent作为ImageView的layout_width / height,并为scaleType选择fitCenter。

将Galaxy Tab报告为中等 dpi 是完全正确的(尽管我认为Tab的分辨率是1024 x 600?),即使它是分辨率< / em>的。 dpi是像素大小的度量(例如,以英寸为单位的像素数)。因此,4英寸屏幕中的480 x 800分辨率将比7英寸显示屏中的480 x 800分辨率具有更高的dpi,这仅仅是因为它们被压缩到更小的空间中。

您实际上可以添加一个名为drawable-large-mdpi的额外drawables文件夹,该文件夹可以包含大屏幕中型dpi设备的文件,例如Tab(有关这些限定符的详细信息,请参阅here)。

答案 2 :(得分:1)

这款平板电脑出了问题。即使dpi大约是160,Google也特意让硬件制造商宣布硬件mpdi.Galaxy Tab执行此操作:http://realmike.org/blog/2010/12/21/multiple-screen-sizes-with-processing-for-android/

您可以尝试添加res / drawable-mdpi-xlarge并在此处添加hdpi图形。我认为xlarge是在2.3中引入的,而较旧的Android版本将无法识别这一点。你可能想尝试drawable-mdpi-large(根据http://blog.alsutton.com/2010/07/03/android-tablets-and-mdpi-large/

添加额外的可绘制文件夹会增加apk的大小。一般来说,姜饼或更好的Honeycomb之前的平板电脑在Android上很棘手,如果你能避免它,我也不会为它们做些特别的事情。

答案 3 :(得分:0)

为了在没有失真或像素化的情况下缩放图像,Android使用称为9-patch的图像。在这里阅读更多关于他们的信息:

http://developer.android.com/guide/developing/tools/draw9patch.html

但这取决于您选择使用图像的方式或多或少有用。例如,9贴片工具没有用,例如壁纸应用程序。

这是我在SO上找到的另一个链接:

http://www.developer.com/ws/other/article.php/3889086

答案 4 :(得分:0)

点击链接 您可能需要为您的应用创建不同的屏幕大小和密度res文件夹组合。 浏览不同的限定符名称并进行实验。

http://developer.android.com/guide/practices/screens_support.html