使用 android 个可绘制文件夹类别

Working of android drawable folders categories

我正在三星 galaxy tab 3 上进行测试,尺寸为 1024 x 600。尺寸为 7 英寸。

我创建了以下文件夹。

drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi

我用这个 link http://dpi.lv/#1024×600

检查了我设备的 dpi

我的设备有 170 dpi(每英寸点数)。

当我 运行 我的项目时。 drawable-mdpi 文件夹中的图像由我的设备触发。

我从我正在关注的教程中截取了以下图片。

根据教程图像是从正确的文件夹中获取的,即 drawable-mdpi(2. 中等密度)

现在我的问题是:

关于尺寸 Android 有四类设备。 小号、普通号、大号、特大号

让我们选择大尺寸类别。 (我的 7 英寸设备尺寸偏大) 大码类别可以是以下类型中的任何一种。

1) 100 到 130 dpi(每英寸点数)的大尺寸

2) 120 到 180 dpi(每英寸点数)的大尺寸

3) 180 到 280 dpi(每英寸点数)的大尺寸

4) 大尺寸,280 到 360 dpi(每英寸点数)

没关系。 android 将触发相应 drawable-<--dpi> 文件夹中的图像。 但是我们在所有 drawable-<--dpi> 文件夹中保留了不同尺寸的图像。

在我的情况下,我在 drawable 中保留了小尺寸图像-mdpi.But 我的平板电脑屏幕尺寸为 7 英寸。

所以它正在从 drawable-mdpi 触发图像。这对于 7 英寸的屏幕来说非常小。

什么是正确的使用方法。 我是否必须创建像这样的文件夹:

drawable-large-mdpi
drawable-large-ldpi
drawable-large-hdpi
drawable-large-xhdpi 

等等。

请解释一下。

想法是您有一张图片,但每个文件夹的尺寸不同。 mdpi 是 1 像素 = 1 dp(密度像素)的基础。假设您有一个 48dpx x 48dp 的 ImageView,在 mdpi 下该图像将为 48x48 像素,您将把它放入 drawable-mdpi。然后,您为每个其他文件夹创建该图像的缩放版本,hdpi 是 mdpi 大小的 1.5 倍,因此您可以将图像缩放到 72x72 像素,对于 hdpi 设备,这相当于 48dp x 48dp。

在每个文件夹中放置一张图像后(它们必须命名相同)Android 将在您将图像引用为 R.drawable.image 时处理其余部分,它将计算设备密度,然后检索该设备密度的正确图像。

查看此现有答案以获取更多信息image size (drawable-hdpi/ldpi/mdpi/xhdpi)

编辑:为了回答您最近的编辑,这可能是您考虑为手机和平板电脑设置不同尺寸(基于屏幕宽度)的地方。对于手机,您可能会将图像设置为 48dp x 48dp,但对于平板电脑,您可能会将其设置为 96dp x 96dp。最好的方法是利用维度资源。你应该已经有了一个值包,你可以创建一个名为 values-sw600dp 的第二个值包,sw600dp 意味着屏幕宽度为 600dp 或更大的设备将从这个包中获取它们的值。然后在您的 values-sw600dp 文件夹中创建一个 dimens.xml(如果您还没有值文件夹,则在您的值文件夹中)。然后为每个 dimens.xml 文件分别添加一个维度,如下所示:<dimen name="image_size">48dp</dimen><dimen name="image_size">96dp</dimen>。对于较大的设备,您的图像将更大以补偿额外的屏幕空间,对于较小的设备,图像大小将保持不变。这样,图像大小将与设备密度无关的屏幕宽度相关。有帮助吗?