在iOS中准备图形很简单。有正常图像(高x宽)或视网膜图像@ 2x(高2倍×宽2倍)。
然而,由于我是Android新手,我在Eclipse中看到了大量的drawable- *文件夹,其中*可以是“hdpi”或“ldpi”或“mdpi”或“xhdpi”或“xxhdpi”。有人可以非常清楚地简单地列出我必须做些什么才能满足每种显示可能性,以便我的图像在每种情况下看起来都正确吗?我想象一个答案将是一个列出每个“*”的子弹列表和一个包含必须完成的事情的子项目列表。
我也非常喜欢从最高密度和最大尺寸图像开始的答案,因为我将在Photoshop中创建并且将从主图像中降低质量。提前谢谢!
答案 0 :(得分:29)
我暂时离开了这个网站,它仍然派上用场
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
答案 1 :(得分:8)
在Android Studio中,只需转到File -> New -> Image Asset
并立即从IDE创建图像。
答案 2 :(得分:7)
在Android上,我们通常以“dp”或“dip”为单位处理图像大小,这代表设备无关的像素。 1 d = 1像素,在mdpi屏幕上。有大量的设备具有不同的屏幕密度,而不仅仅是正常和视网膜,因此设备的屏幕可能存在多个DPI桶:
请注意,这些是存储桶,因此具有170 dpi屏幕的设备将被视为mdpi设备。
假设你在PS中有一个基于矢量的图像,你需要为Android创建一个图像资源,你想支持所有这些屏幕密度。假设图像需要大于100x100。因此,为mdpi创建100x100像素版本,为hdpi创建150x150像素版本,为xhdpi创建200x200像素,为ldpi创建75x75像素版本。您可以将Android上的“mdpi - xhdpi”视为iOS上的“正常 - 视网膜”。
至于你可以使用的大图像尺寸,我真的不能说。据我所知,没有硬限制,但由于堆限制,设备显然无法在没有下采样的情况下将20000x20000位图加载到内存中。
答案 3 :(得分:6)
有Android Asset Studio的在线工具 还有Eclipse中的File | New | Android Icon Set