6

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

问题是这样的:

屏幕尺寸约为 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 图像都可以放大,而不管设备如何。

4

5 回答 5

2

您可能在清单中缺少一些标签,例如anyDensitysupports...。仅附带体面的平板电脑支持xlarge(我认为在姜饼中)。

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

于 2011-01-07T23:48:47.567 回答
1

平板电脑做错了什么。即使 dpi 约为 160,Google 也专门使硬件制造商可以声明硬件 mpdi。Galaxy Tab 这样做:http ://realmike.org/blog/2010/12/21/multiple-screen-sizes-with -处理-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 的大小。一般来说,在 Gingerbread 或更好的 Honeycomb 之前的平板电脑在 Android 上很棘手,如果可以避免的话,我不会费心为他们做特殊的事情。

于 2011-02-06T21:35:26.740 回答
1

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

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

您实际上可以添加一个名为的额外可绘制文件夹,该文件夹drawable-large-mdpi可能包含用于大屏幕中等 dpi 设备的文件,例如选项卡(有关这些限定符的更多信息,请参见此处)。

于 2010-12-10T19:28:35.277 回答
0

为了在不失真或像素化的情况下缩放图像,Android 使用称为 9-patch 的图像。在此处阅读有关它们的更多信息:

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

但这或多或少会有所帮助,具体取决于您选择使用图像的方式。9 补丁工具对于壁纸应用程序来说毫无用处。

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

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

于 2010-12-10T18:48:39.477 回答
0

按照您可能需要的链接,为您的应用创建不同的屏幕尺寸和密度资源文件夹组合。浏览不同的限定符名称并进行试验。

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

于 2015-07-06T09:43:55.143 回答