gpt4 book ai didi

android - 我如何确定 Android 需要多大的图像(以像素为单位)才能在设备上正确显示该图像?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:28:38 28 4
gpt4 key购买 nike

我有两张图片要在我的应用中显示。

第一个图像是全屏的(作为应用程序的背景)。我已阅读 developers.android.com 上的“支持多屏幕”一文多次但是,我仍然不知道每个 dpi 类别的图像应该是多大。我尝试了我认为正确的尺寸,但在大屏幕(即 1280x800@mdpi)上查看应用程序时,我发现背景出现像素化。这是可以理解的,因为我的 mpdi 图片是 320x480px。我该如何纠正这个问题?我应该使用多大尺寸的图片?

第二张图片是一个按钮。目前我的图像分辨率非常高,但应用程序将其缩小,因此看起来不错。但是,我不希望应用程序发布时是这样的。对于这张图片,我需要知道图片的像素大小。目前,它在应用程序中为 60dp x 50dp。这将以像素为单位转换成什么?我知道使用公式 px = dp * (dpi/160) 但是,在这种情况下 dpi 是多少?我无法为此图像使用 NinePatch PNG。

我不明白要让我的图像以什么尺寸(以像素为单位)开始,以便它们在 Android 设备上正确显示。如果您使用的是 mdpi 设备,是否 dp = px?

更新:

经过数小时的反复思考,我得出了以下结论:

drawable-xlarge-xhdpi   2560x1920px
drawable-large-xhdpi 1920x1440px
drawable-normal-xhdpi 1280x960px

drawable-xlarge-hdpi 1920x1440px
drawable-large-hdpi 1440x1080px
drawable-normal-hdpi 960x720px

drawable-xlarge-mdpi 1280x960px
drawable-large-mdpi 960x720px
drawable-normal-mdpi 640x480px

drawable-xlarge-ldpi 960x720px
drawable-large-ldpi 720x540px
drawable-normal-ldpi 480x360px

这些将是我的可绘制目录和我期望的每个目录的最大分辨率(我决定不支持小屏幕)。因此,我的图像将是这些尺寸。

在我的手机上看起来很棒。我看不到 Artifact 。它似乎也适用于 1280x800@mpdi 屏幕的模拟器,因此希望它适用于所有设备...

有没有人认为这样做有问题?有一个更好的方法吗?我的计算看起来正确吗?

最佳答案

给你,我把它拿下来了,我只是把它传递给你

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
Generalised Dpi values for screens:

ldpi Resources for low-density (ldpi) screens (~120dpi)
mdpi Resources for medium-density (mdpi) screens (~160dpi). (This is the baseline density.)
hdpi Resources for high-density (hdpi) screens (~240dpi).
xhdpi Resources for extra high-density (xhdpi) screens (~320dpi).
Therefore generalised size of your resources (assuming they are full screen):

ldpi
Vertical = 426 * 120 / 160 = 319.5px
Horizontal = 320 * 120 / 160 = 240px
mdpi
Vertical = 470 * 160 / 160 = 470px
Horizontal = 320 * 160 / 160 = 320px
hdpi
Vertical = 640 * 240 / 160 = 960px
Horizontal = 480 * 240 / 160 = 720px
xhdpi
Vertical = 960 * 320 / 160 = 1920px
Horizontal = 720 * 320 / 160 = 1440px

px = dp*dpi/160

关于android - 我如何确定 Android 需要多大的图像(以像素为单位)才能在设备上正确显示该图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15374891/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com