我正在创建一个将在所有 Android 设备上运行的应用程序。我想为我的应用程序创建 xhdpi 图形。我的应用程序是全屏的。我对创建图形感到困惑。谁能告诉我我的背景图像的最佳尺寸(以像素为单位)。
例如:
xhdpi: 720x1280 像素
hdpi: 480x800 像素
mdpi:320x480 像素
ldpi:240x320 像素
建议我在所有设备上显示的最佳尺寸。因为我的图形是我的应用程序的核心。
我希望每台设备都能获得它想要的最佳图像。 Android 不会参与图像的压缩或扩展。
以下是应用在所有设备上运行的最佳尺寸。要了解多个支持屏幕,您必须阅读 http://developer.android.com/guide/practices/screens_support.html
xxxhdpi: 1280x1920 px
xxhdpi: 960x1600 px
xhdpi: 640x960 px
hdpi: 480x800 px
mdpi: 320x480 px
ldpi: 240x320 px
Android 设备矩阵
ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi
Launcher And Home 36*36 48*48 72*72 96*96 144*144 192*192
Toolbar And Tab 24*24 32*32 48*48 64*64 96*96 128*128
Notification 18*18 24*24 36*36 48*48 72*72 96*96
Background 240*320 320*480 480*800 768*1280 1080 *1920 1440*2560
(从背景屏幕的总高度减去工具栏大小的好方法,然后是屏幕的设计图形)
如需更多帮助(此链接还包括平板电脑):
https://design.google.com/devices/
Android 原生图标(推荐)您可以更改这些图标的颜色 programmatically。 https://design.google.com/icons/
检查这个。此图像将针对不同屏幕尺寸的所有图标尺寸显示
https://i.stack.imgur.com/JxzS6.jpg
我在互联网上查看了这些正方形图像密度的正确尺寸,但找不到任何可靠的东西。
如果有什么安慰的话,请参考 Veerababu Medisetti's answer,我将这些尺寸用于 SQUARES :)
xxxhdpi: 1280x1280 px
xxhdpi: 960x960 px
xhdpi: 640x640 px
hdpi: 480x480 px
mdpi: 320x320 px
ldpi: 240x240 px
GIMP tool 正是您为不同像素分辨率设备创建图像所需要的。
按着这些次序:
在 GIMP 工具中打开现有图像。转到“图像”菜单,然后选择“缩放图像...” 使用您需要的以下像素尺寸: xxxhdpi:1280x1920 px xxhdpi:960x1600 px xhdpi:640x960 px hdpi:480x800 px mdpi:320x480 px ldpi:240x320 px 然后“从“文件”菜单导出”图像。
我的理解是,如果您使用 View
对象(例如 android:windowBackground
),Android 会自动将您的图像缩放到正确的大小。问题是过多的缩放会导致伪影(在向上和向下缩放期间)和模糊。由于市场上的各种分辨率和宽高比,不可能为每个屏幕创建“完美”适配,但您可以尽最大努力确保只需进行一点点缩放,从而减轻不必要的副作用.所以我要做的是:
保持六种广义密度(ldpi、mdpi、hdpi 等)之间的 3:4:6:8:12:16 缩放比例。
您不应该为您的 UI 元素包含 xxxhdpi 元素,此分辨率仅用于升级启动器图标(因此仅适用于 mipmap 文件夹)......您不应将 xxxhdpi 限定符用于启动器图标以外的 UI 元素。 ...虽然例如。在三星 edge 7 上调用 getDisplayMetrics().density 返回 4 (xxxhdpi),所以这个信息可能已经过时了。
然后看看市场上的新手机型号,找到有代表性的。假设新的 google 像素是 android 手机的良好代表:它具有 1080 x 1920 分辨率和 441 dpi,屏幕尺寸为 4.4 x 2.5 英寸。然后来自 android 开发者文档: ldpi (low) ~120dpi mdpi (medium) ~160dpi hdpi (high) ~240dpi xhdpi (extra-high) ~320dpi xxhdpi (extra-extra-high) ~480dpi xxxhdpi (extra-extra-超高)~640dpi 这对应于 xxhdpi 屏幕。从这里我可以将这些 1080 x 1920 按上述 (3:4:6:8:12) 比例缩小。
ldpi(低)~120dpi
mdpi(中)~160dpi
hdpi(高)~240dpi
xhdpi(超高)~320dpi
xxhdpi(超超高)~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
我也可以承认,下采样通常是一种简单的缩放方法,因此我可能希望在我的 apk 中捆绑稍微超大的位图(注意:更高的内存消耗)。再次假设像素屏幕的宽度和高度具有代表性,我会将 1080x1920 放大 480/441 倍,使我的最大分辨率背景图像保持在大约。 1200x2100,然后应按 3:4:6:8:12 缩放。
请记住,您只需为位图文件(.png、.jpg 或 .gif)和九补丁文件(.9.png)提供特定于密度的可绘制对象。如果您使用 XML 文件来定义可绘制资源(例如形状),只需将一份副本放在默认的可绘制目录中。
如果您必须适应非常大或奇数的纵横比,请为这些创建特定文件夹,为此使用标志,例如。 sw、长、大等
并且不需要两次绘制背景。因此使用