【问题标题】:Android: Background Image Size (in Pixel) which Support All DevicesAndroid:支持所有设备的背景图像大小(以像素为单位)
【发布时间】:2012-10-23 05:51:23
【问题描述】:

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

例如:

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

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

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

【问题讨论】:

  • 阅读 Android 文档的 Android 多屏支持,它们给出了用户界面的标准
  • 使用这一解决方案,这是所有新旧设备以及即将推出的设备的最佳选择。 stackoverflow.com/a/40255870/2489061

标签: android graphics


【解决方案1】:

以下是应用在所有设备上运行的最佳尺寸。要了解多个支持屏幕,您必须阅读 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

【讨论】:

  • 有趣,nexus 5 是 xxhdpi,但它的屏幕尺寸是 1080x1920
  • LG G3 的分辨率为 1440 x 2560,使用 xxxhdpi。
  • 这是 android 的主要问题/挑战,hdpi、xhdpi 等没有固定尺寸,因为每个制造商都可以制造不同尺寸的手机/平板电脑,这与只有苹果制造的 IOS 不同。查看范围部分:developer.android.com/guide/practices/…
  • 使用这一解决方案,这是所有新旧设备以及即将推出的设备的最佳选择。 stackoverflow.com/a/40255870/2489061
  • dpi 怎么样?
【解决方案2】:

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) 您可以更改这些图标的颜色programmaticallyhttps://design.google.com/icons/

【讨论】:

【解决方案3】:

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

【讨论】:

  • 这是哪里来的?
  • 上网时从其中一个网站
【解决方案4】:

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

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

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

【讨论】:

【解决方案5】:

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

按照以下步骤操作:

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

    xxxhdpi: 1280x1920 像素

    xxhdpi:960x1600 像素

    xhdpi:640x960 像素

    hdpi:480x800 像素

    mdpi:320x480 像素

    ldpi:240x320 像素

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

【讨论】:

    【解决方案6】:

    我的理解是,如果您使用 View 对象(应该是 android:windowBackground),Android 会自动将您的图像缩放到正确的大小。问题是过多的缩放会导致伪影(在向上和向下缩放期间)和模糊。由于市场上的各种分辨率和宽高比,不可能为每个屏幕创建“完美”适配,但您可以尽最大努力确保只需进行一点点缩放,从而减轻不必要的副作用.所以我会做的是:

    • 在六种通用密度(ldpi、mdpi、hdpi 等)之间保持 3:4:6:8:12:16 的缩放比例。
    • 您的 UI 元素不应包含 xxxhdpi 元素,此分辨率仅用于升级启动器图标(因此仅适用于 mipmap 文件夹)... You should not use the xxxhdpi qualifier for UI elements other than the launcher icon. ... 虽然 例如。在三星 edge 7 上调用 getDisplayMetrics().density 返回 4 (xxxhdpi),所以这个信息可能已经过时了。
    • 然后看看市场上的新手机型号,找到有代表性的。假设新的 google 像素很好地代表了 android 手机:它具有 1080 x 1920 分辨率和 441 dpi,屏幕尺寸为4.4 x 2.5 inches。然后来自the android developer docs

      • ldpi(低)~120dpi
      • mdpi(中)~160dpi
      • hdpi(高)~240dpi
      • xhdpi(超高)~320dpi
      • xxhdpi (extra-extra-high) ~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 文件来定义可绘制资源(例如形状),只需将一份副本放在默认的可绘制目录中即可。
    • 如果您必须适应非常大或奇数的纵横比,也可以为此创建特定的文件夹,为此使用标志,例如。 swlonglarge
    • 而且不需要两次绘制背景。因此使用<item name="android:windowBackground">@null</item> 设置样式

    【讨论】:

    • 我正在使用 xml 文件来显示 android 中的图像。那么哪些像素更适合 1080p 呢?
    猜你喜欢
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 2023-04-03
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多