ChatGPT解决这个技术问题 Extra ChatGPT

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

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

例如:

xhdpi: 720x1280 像素

hdpi: 480x800 像素

mdpi:320x480 像素

ldpi:240x320 像素

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

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

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

C
Community

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

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


为什么这些论文与此处建议的乘数不一致? developer.android.com/training/multiscreen/screendensities#java
K
Ketan Ramani

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

https://i.stack.imgur.com/JxzS6.jpg


这是哪里来的?
上网时从其中一个站点
C
Community

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

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

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

对于所有新旧设备以及即将推出的设备,使用这个解决方案是最好的。 stackoverflow.com/a/40255870/2489061
S
Sagar Rathod

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

按着这些次序:

在 GIMP 工具中打开现有图像。转到“图像”菜单,然后选择“缩放图像...” 使用您需要的以下像素尺寸: xxxhdpi:1280x1920 px xxhdpi:960x1600 px xhdpi:640x960 px hdpi:480x800 px mdpi:320x480 px ldpi:240x320 px 然后“从“文件”菜单导出”图像。


O
Overclover

我的理解是,如果您使用 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、长、大等

并且不需要两次绘制背景。因此使用 @null 设置样式


我正在使用 xml 文件来显示 android 中的图像。那么哪些像素更适合 1080p 呢?