我正在尝试使用 GridView 在我的应用程序中创建主要活动。我需要一个 3x3 的网格。每个单元格都包含 ImageView(不同操作的图标)。所有图像必须具有相同的大小。我的问题是:我必须使用什么尺寸的图像?我观看了教程并找到了一张表格,其中包含不同分辨率和密度的尺寸。但我不明白。例如,我的 mdpi 密度和屏幕尺寸为 480*800。这是否意味着我应该在这个屏幕上使用 160*266 的图标?其他密度和屏幕尺寸应该是什么尺寸?我该如何计算它们?
问问题
953 次
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-mdpi
,drawable-hdpi
并将相应的图像放置在这些文件夹中。
这就是支持多种屏幕密度的原因。
根据文档,MDPI 和 HDPI 屏幕尺寸是考虑到它们的纵横比为 3:4,但由于大多数用户拥有纵横比为 9:16 的高清设备,您可以考虑市场上最标准的屏幕尺寸,即 1080 X 1920 对应于 XXHDPI,并作为假设 MDPI 为 360 X 640 的假设。对于高质量的应用程序,必须为较低的设备进行权衡,因为大多数现有用户都有 XXHDPI 或更高的设备。
于 2017-03-14T07:56:07.730 回答