122

我正在创建一个将在所有 Android 设备上运行的应用程序。我想为我的应用程序创建 xhdpi 图形。我的应用程序是全屏的。我对创建图形感到困惑。谁能告诉我我的背景图像的最佳尺寸(以像素为单位)。

例如:

  • xhdpi: 720x1280 像素
  • hdpi: 480x800 像素
  • mdpi:320x480 像素
  • ldpi:240x320 像素

建议我在所有设备上显示的最佳尺寸。因为我的图形是我的应用程序的核心。

我希望每台设备都能获得它想要的最佳图像。Android 不会参与图像的压缩或扩展。

4

6 回答 6

205

以下是应用在所有设备上运行的最佳尺寸。要了解多个支持屏幕,您必须阅读 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
于 2012-11-05T09:00:32.107 回答
66

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 Native Icons (Recommended) 您可以通过编程更改这些图标的颜色。 https://design.google.com/icons/

于 2016-10-26T07:10:28.397 回答
20

检查这个。此图像将针对不同屏幕尺寸的所有图标尺寸显示

尺寸

于 2018-08-21T15:13:05.907 回答
5

我在互联网上查看了这些正方形图像密度的正确尺寸,但找不到任何可靠的东西。

如果有什么安慰的话,请参考Veerababu Medisetti 的回答,我将这些尺寸用于SQUARES :)

xxxhdpi: 1280x1280 px
xxhdpi: 960x960 px
xhdpi: 640x640 px
hdpi: 480x480 px
mdpi: 320x320 px
ldpi: 240x240 px
于 2016-03-01T02:19:23.923 回答
4

我的理解是,如果您使用一个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(低)~120dpi
    • mdpi(中)~160dpi
    • hdpi(高)~240dpi
    • xhdpi(超高)~320dpi
    • xxhdpi(超超高)~480dpi
    • xxxhdpi (extra-extra-extra-high) ~640dpi

    这对应于xxhdpi屏幕。从这里我可以将这些 1080 x 1920 按上述 (3:4:6:8:12) 比例缩小。

  • 我也可以承认,下采样通常是一种简单的缩放方法,因此我可能希望在我的 apk 中捆绑稍微超大的位图(注意:更高的内存消耗)。再次假设像素屏幕的宽度和高度具有代表性,我会将 1080x1920 放大 480/441 倍,使我的最大分辨率背景图像保持在大约。1200x2100,然后应按 3:4:6:8:12 缩放。
  • 请记住,您只需为位图文件(.png、.jpg 或 .gif)和九补丁文件(.9.png)提供特定于密度的可绘制对象。如果您使用 XML 文件来定义可绘制资源(例如形状),只需将一份副本放在默认的可绘制目录中。
  • 如果您必须适应非常大或奇数的纵横比,请为这些创建特定文件夹,为此使用标志,例如。sw, long,large
  • 并且不需要两次绘制背景。因此设置一个风格<item name="android:windowBackground">@null</item>
于 2016-12-01T13:41:02.147 回答
4

GIMP 工具正是您为不同像素分辨率设备创建图像所需的工具。

按着这些次序:

  1. 在 GIMP 工具中打开现有图像。
  2. 转到“图像”菜单,然后选择“缩放图像...”
  3. 使用您需要的以下像素尺寸:

    xxxhdpi: 1280x1920 像素

    xxhdpi:960x1600 像素

    xhdpi: 640x960 像素

    hdpi: 480x800 像素

    mdpi:320x480 像素

    ldpi:240x320 像素

  4. 然后从“文件”菜单中“导出”图像。

于 2016-12-31T17:18:09.187 回答