-2

我正在尝试使用 GridView 在我的应用程序中创建主要活动。我需要一个 3x3 的网格。每个单元格都包含 ImageView(不同操作的图标)。所有图像必须具有相同的大小。我的问题是:我必须使用什么尺寸的图像?我观看了教程并找到了一张表格,其中包含不同分辨率和密度的尺寸。但我不明白。例如,我的 mdpi 密度和屏幕尺寸为 480*800。这是否意味着我应该在这个屏幕上使用 160*266 的图标?其他密度和屏幕尺寸应该是什么尺寸?我该如何计算它们?

4

1 回答 1

0

这是问得最多的问题之一,您可以搜索更多详细信息,但让我简要介绍一下它是如何工作的。

MDPI被认为是基线,以下是尺度

MDPI-X1
HDPI-X1.5
XHDPI-X2
XXHDPI-X3
XXXHDPI - X4

现在你一定在想这是什么。

由于您想要具有相同大小的单元格的 3X3 网格,您可以考虑以下内容。
通常 mdpi 屏幕尺寸为 360 X 640,因此每个图像尺寸为 120dp X 212dp Approx。

对于 mdpi 屏幕,您的图像尺寸应为 120px X 212px
对于 hdpi 屏幕,您的图像尺寸应为 180px X 318px
对于 xhdpi 屏幕,您的图像尺寸应为 240px X 424px
对于 xxdpi 屏幕,您的图像尺寸应为 360px X 636px
对于 xxxdpi 屏幕,您的图像尺寸应为 480px X 848px

现在你应该把这些图像放在哪里?

项目 -> 应用程序 -> src -> main -> res

在这里,创建名称为 、 等的文件夹drawable-mdpidrawable-hdpi并将相应的图像放置在这些文件夹中。

这就是支持多种屏幕密度的原因。

根据文档,MDPI 和 HDPI 屏幕尺寸是考虑到它们的纵横比为 3:4,但由于大多数用户拥有纵横比为 9:16 的高清设备,您可以考虑市场上最标准的屏幕尺寸,即 1080 X 1920 对应于 XXHDPI,并作为假设 MDPI 为 360 X 640 的假设。对于高质量的应用程序,必须为较低的设备进行权衡,因为大多数现有用户都有 XXHDPI 或更高的设备。

于 2017-03-14T07:56:07.730 回答