具有不同分辨率的设备访问相同的drawable-xxxx文件夹

时间:2013-03-06 04:56:28

标签: android screen-resolution android-resources android-drawable

我正在为所有可用的屏幕分辨率开发应用程序。我的方法是创建不同的drawable文件夹并在其中保留相应的图像。在我发现两个不同分辨率的设备之间发生冲突之前,一切都很顺利。设备的分辨率为480*800600*1024。但根据它们的像素密度,它们访问相同的drawable文件夹drawable-hdpi(这也是根据下图中的给定规范)。

我的问题是这个文件夹中的图像非常适合一个设备而不适用于其他设备。这意味着如果我保留600*1024的图片,则它们会在其他设备480*800中重叠。我已经尝试将文件夹重命名为其他可能的名称,但无法成功。请帮助我如何处理这种情况。希望我已经清楚地描述了我的情况......

5 个答案:

答案 0 :(得分:1)

您好,您可以将所有图像放在可绘制文件夹中,然后创建像这样的布局文件夹

<强>布局小

<强>布局-大

布局-xlarge

这样您就可以访问同一个可绘制文件夹中的所有图像,当您运行应用程序时,它会根据文件的大小自动在文件夹中创建可绘制文件夹,这样就不会发生冲突。发生重叠。所以检查一下.............

答案 1 :(得分:0)

放置drawable文件夹,并将图片保持为您想要的尺寸(让它为30px * 20px),将其添加到您的版面中。

答案 2 :(得分:0)

除了@ androidgeek的答案以满足您的特定需求,您可以做的是您可以创建此布局文件夹

RES /布局sw600dp

在此布局中,您可以创建600 * 1024设备分辨率的布局,并且可以为此布局使用单独的drawable。

此外,您可以尝试仅使用xhdpi图像,并在运行时从代码中调整它的大小,而不是建议的方法,但大多数时候都有效

答案 3 :(得分:0)

这里有很多错误的信息。单独的分辨率确定像素密度。 480 x 800像素的屏幕可以是ldpimdpihdpixhdpixxhdpi。您无法通过单独的分辨率确定屏幕所属的密度桶。 ldpimdpi等限定符会告诉您每英寸像素的密度(粗略 - 它们不是精确的,而是接近的)。 {1}屏幕在屏幕的1英寸处有大约240像素,hdpi屏幕大约有160像素等。

无法使用密度来定位分辨率。周期。

如果您正在尝试制作适用于非常特定分辨率的应用程序,我建议您改为使用iOS进行开发。

答案 4 :(得分:-1)

不同的设备从不同的文件夹中获取图像,这是Android设备中的一个缺陷,即使它的标签不是必需的,它将从drawable-xlarge获取其图像。 为此,我建议您为不同的设备制作不同的文件夹。如果您正在制作可在所有设备上完美运行的应用程序。 试试

抽拉-LDPI

抽拉-MDPI

抽拉-HDPI

抽拉-xhdpi

抽拉-SW600

抽拉-大HDPI

以上所有文件夹几乎涵盖了所有设备。 您不需要在每个文件夹中为不同的设备插入不同的图像,因为如果您在hdpi文件夹中有图像,那么mdpi和ldpi会自动缩放这些图像, 在某些情况下,图像可能不适合您必须根据其大小插入图像的情况。