有关Android可绘制文件夹的问题

时间:2012-01-15 14:49:15

标签: android android-manifest drawable dpi

亲爱的StackOverflow用户,

我在StackOverflow上找到了有关Drawables使用的信息(HDPI,MDPI,LDPI)的信息。目前我只使用HDPI文件夹。我的ImageButtons是72x72。根据Eclipse,查看.XML文件的图形布局,最小的屏幕(2.7 IN QVGA)可以显示所有按钮。

如果我是正确的,如果有MDPI或LDPI屏幕的人使用APP,Android会缩小图像,对吧?是否还有一个设置,其中所有不同的DPI大小都使用72x72图像?我应该在Android Manifest中明确定义支持DPI的是什么?或者当我把它留空时,它会支持所有可能的设备吗?

提前感谢您的任何答案! (可能(部分)这些问题已经得到解答,但谷歌发现了很多关于此问题的内容)

修改

我发现这是我的Android清单文件。这会使它适用于所有设备吗?缩小HDPI图像?:

<supports-screens 
android:largeScreens="true" 
android:normalScreens="true" 
android:smallScreens="true"
android:anyDensity="true" 
android:resizeable="true" />

2 个答案:

答案 0 :(得分:4)

  

如果我是正确的,如果有MDPI或LDPI屏幕的人使用APP,Android会缩小图像,对吗?

  

是否还有一个设置,其中所有不同的DPI尺寸都使用72x72图像?

如果将它们放在res/drawable/而不是res/drawable-hdpi/中,它应该会产生这种效果。

  

我应该在Android Manifest中明确定义支持哪些DPI?

如果您希望阻止您的申请在某些密度的市场中出现,您可以使用<compatible-screens>。理想情况下,您的应用程序适用于所有密度。

  

这会使它适用于所有设备吗?

它允许您的应用安装在所有设备上。它是否有效取决于你。请删除android:resizeable属性(不建议使用)。您也可以删除android:anyDensity(默认为true)。

  

缩小HDPI图像?

是的,它应该缩小HDPI图像。即使没有这个元素也会这样做。

答案 1 :(得分:1)

如果你只使用一种尺寸,我会把图像放在drawable文件夹中,而不是drawable-hdpi / ldpi / xhdpi。这样,除非在其他屏幕分辨率特定文件夹中有特定的图像,否则始终使用该文件夹中的图像。

我不确定你的意思

  

是否还有一个设置,其中所有不同的DPI尺寸都使用72x72图像?

当你把所有东西放在标准的drawable文件夹中时,android将始终使用这个图像。如果以dp(密度无关像素)而不是纯像素设置图像的宽度,它将根据用户的屏幕密度自动缩小图像。请查看Google提供的this链接,以支持多个屏幕并拥有与密度无关的应用程序。

  

或者当我把它留空时,它会支持所有可能的设备吗?

将其留空,它将支持所有可能的设备。

  

我发现这是我的Android清单文件。这会使它成功吗?   所有设备?缩小HDPI图像?:

不,不会,不管它。只需使用与密度无关的像素来适合您的图像,它们将在您的应用程序中进行缩放和使用。