Android:支持所有设备的背景图像大小(以像素为单位)

我正在创build一个将在所有Android设备上运行的应用程序。 我想为我的应用程序创buildxhdpigraphics。 我的应用程序是全屏。 我很困惑创buildgraphics。 任何人都可以告诉我像素的背景图像的最佳尺寸。

例如:

  • xhdpi:720×1280像素
  • hdpi:480×800像素
  • mdpi:320×480像素
  • ldpi:240×320像素

build议我将在所有设备上出现的最佳尺寸。 因为我的graphics是我的应用程序的核心。

我希望每台设备都能得到最好的图像。 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设备matrix

  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 

(为了好办法减去工具栏大小从背景屏幕的总高度,然后屏幕的devisegraphics)

更多帮助(此链接也包括平板电脑):

https://design.google.com/devices/

Android本机图标(推荐)您可以通过编程方式更改这些图标的颜色。 https://design.google.com/icons/

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

如果它是任何安慰,指Veerababu Medisetti的答案我用这些尺寸为方形 🙂

 xxxhdpi: 1280x1280 px xxhdpi: 960x960 px xhdpi: 640x640 px hdpi: 480x480 px mdpi: 320x320 px ldpi: 240x240 px 

我的理解是,如果你使用一个View对象(如应该例如android:windowBackground ),Android会自动缩放图像到正确的大小。 问题是太多的缩放可能会导致工件(上下缩放)和模糊。 由于市场上的各种分辨率和方面比例,不可能为每个屏幕创build“完美”的适合度,但是您可以尽力确保只需要进行一点缩放,从而减轻不必要的副作用。 所以我会做的是:

  • 保持6个广义密度(ldpi,mdpi,hdpi等)之间的3:4:6:8:12:16缩放比例。
  • 你不应该为你的用户界面元素包含xxxhdpi元素,这个分辨率只能用于升级启动器图标(所以只能用mipmap文件夹)。 你不应该为启动器图标以外的UI元素使用xxxhdpi限定符。 虽然例如 在三星边缘7调用getDisplayMetrics().density返回4(xxxhdpi),所以也许这个信息是过时的。
  • 然后看看市场上的新手机型号,find具有代表性的手机型号。 假设新的Google像素是Android手机的一个很好的代表:它具有441 dpi的1080 x 1920分辨率和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中捆绑稍微超大的位图(注:更高的内存消耗)。 再次假设像素屏幕的宽度和高度是代表性的,我会将1080×1920放大480/441倍,使我的最大分辨率背景图像大约为 1200×2100,然后按3:4:6:8:12缩放。
  • 请记住,您只需要为位图文件(.png,.jpg或.gif)和Nine-Patch文件(.9.png)提供密度特定的绘图。 如果您使用XML文件来定义可绘制资源(例如形状),只需将一个副本放在默认的可绘制目录中即可。
  • 如果你必须容纳真正的大或者奇数的宽高比,为这些创build特定的文件夹,使用这个标志,例如。 swlonglarge
  • 而且不需要两次绘制背景。 因此,使用<item name="android:windowBackground">@null</item>设置样式

GIMP工具正是你需要为不同的像素分辨率设备创build图像。

按着这些次序:

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

    xxxhdpi:1280×1920 px

    xxhdpi:960×1600 px

    xhdpi:640×960像素

    hdpi:480×800像素

    mdpi:320×480像素

    ldpi:240×320像素

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