ChatGPT解决这个技术问题 Extra ChatGPT

mdpi、hdpi、xhdpi 和 xxhdpi 的图像分辨率

我的应用程序的背景分辨率为 720x1280 像素、1080x1920 像素和 1440x2560 像素。

我应该将每个背景放在哪个文件夹(mdpi、hdpi、xhdpi 和 xxhdpi)中?

你混淆了分辨率和密度。

R
Rjz Satvara

请阅读有关屏幕尺寸的Android Documentation

从基本图像尺寸来看,DPI 的可绘制尺寸有 3:4:6:8:12:16 的缩放比例。

LDPI - 0.75x
MDPI - Original size // means 1.0x here 
HDPI - 1.5x
XHDPI - 2.0x
XXHDPI - 3x
XXXHDPI - 4.0x

例如,MDPI 上的 100x100px 图像将与 XHDPI 屏幕上的 200x200px 大小相同。


因此,如果我直截了当,则计算出的 DP 除以 160 DPI 屏幕(这是 mdpi 基础)和屏幕 DPI,它给出了 0.75、1、1.5、2、3 和 4 的因子,这些因子用于缩放所需图像的分辨率对吗?抱歉,这有点令人困惑
文本大小也是如此吗?
我有点不同意你的回答,因为如果你的原始图像大小是 1500x1500,那么 XXXHDPI 应该是 6000x6000,它会导致内存不足错误,你能详细说明一下吗? dpi 的标准尺寸是多少,所以我们可以遵循这个尺寸。
R
Rytis

需要用于启动画面的屏幕尺寸:

LDPI: Portrait: 200 X 320px
MDPI: Portrait: 320 X 480px
HDPI: Portrait: 480 X 800px
XHDPI: Portrait: 720 X 1280px
XXHDPI: Portrait: 960 X 1600px
XXXHDPI: Portrait: 1440 x 2560px

需要应用程序的图标大小:

http://iconhandbook.co.uk/reference/chart/android/


为什么 xxxhdpi x size 比 y 大?为什么 320*4 等于 1440 而 320*2 等于 720?请编辑。
谢谢。对于所有想知道可用于屏幕尺寸的最大分辨率的人,请参阅此。
S
Saeed

任何设备的DP尺寸是(实际分辨率/密度转换因子)。

密度桶的密度换算系数如下:

ldpi: 0.75
mdpi: 1.0 (base density)
hdpi: 1.5
xhdpi: 2.0
xxhdpi: 3.0
xxxhdpi: 4.0

分辨率/密度转换为 DP 的示例:

240 X 320 px 的 ldpi 设备将是 320 X 426.66 DP。 240 / 0.75 = 320 dp 320 / 0.75 = 426.66 dp xxhdpi 设备为 1080 x 1920 像素(三星 S4、S5)将为 360 X 640 dp。 1080 / 3 = 360 dp 1920 / 3 = 640 dp

这张图片显示更多:

https://i.stack.imgur.com/OEeFj.png

有关 DIP 的更多详细信息,请阅读 here


T
Tin Luu

您的输入缺少设备尺寸的一项重要信息。假设现在流行的手机是 6 英寸(显示屏的对角线),你会得到以下结果

https://i.stack.imgur.com/cUM9F.png

DPI:每英寸点数 - 每段(线)1 英寸的点数(像素)。 DPI=对角线/设备尺寸

缩放比率 = 真实 DPI/160。 160 是基本密度 (MHDPI)

DP:(Density-independent Pixel)=1/160英寸,把它看成一个测量单位


l
ldev

https://i.stack.imgur.com/jYrQk.png

检查上面的图片,我希望它会对某人有所帮助。

Link to the whole article itself


c
change_is_necessity

为了知道手机分辨率,只需创建一个带有标签 mdpi、hdpi、xhdpi 和 xxhdpi 的图像。将这些图像放在相应的文件夹中,例如 mdpi、hdpi、xhdpi 和 xxhdpi。在布局中创建一个图像视图并加载此图像。手机将从特定文件夹加载相应的图像。通过这个,您将获得它正在使用的手机分辨率或 *dpi。


...或者对字符串资源做同样的事情,这可能更容易处理。好主意,因为您可以添加更多信息并编写一个方便的实用程序应用程序,向您显示一些设备属性。