适合 android xxhdpi 屏幕的最大图像尺寸的最小像素

minimum pixels of the largest image's side to fit android xxhdpi screen

我正在制作一个 android 全屏显示图像的应用程序。

我了解了一些关于 dpi 和 dp 的知识,但我没有发现我的图像的最大边必须有多少像素(预期在横向模式下也能很好地适应)才能在不同的设备上显示良好。

如文档中所述,最常用的屏幕配置是正常的 hdpi、xhdpi 和 xxhdpi 密度:

所以,如果我的想法是正确的,我可以只制作一张适合 xxhdpi 的图像,也可以在其他两个密度下正常工作,并将其放在 Android Studio 中 "res/drawable" 下文件夹(无限定符)。 在布局中以 dp 为单位指定图像大小,Android 应针对较小的配置缩放图像。

但是,对于 xxhdpi,我的图像的最大边必须有多少像素(以像素为单位)才能显示良好

编辑:我的图片的最长边必须有多少像素才能在xxhdpi 密度 图像没有出现颗粒状 ?

所有图片都是照片,不是图标,所以我不能使用矢量图。

好吧,如果您将适合 xxxhdpi 的图像放入文件夹 drawable,那么它将适合所有屏幕。

但是还有另一种方法可以只使用一张图片,而不是针对不同的分辨率使用多张图片。这是通过使用 svg 图像,这些图像是矢量图像,不会受到放大或缩小的影响。

要使用 svg,您需要遵循以下说明:

  1. 将图标设为 icon.svg
  2. 在 Android Studio 中,右键单击 drawable 文件夹
  3. 选择New -> Vector Asset
  4. 选择Local File(SVG、PSD)
  5. 选择您的 svg 文件
  6. 单击 Next 并选择名称
  7. 点击Finish
  8. 在应用中 build.gradleandroid 块中添加以下内容:

    vectorDrawables {
        useSupportLibrary true
    }
    
  9. 在 xml 布局文件中,添加以下内容:

    <AppCompatImageView
        android:width="wrap_content"
        android:height="wrap_content"
        app:srcCompat="@drawable/your_svg_file"
        />
    

Android 为图像定义了比率以在所有不同的可绘制对象中设置

Android 图标需要五种不同的尺寸以适应不同的屏幕像素密度。较低分辨率的图标是根据基线自动创建的。

  • mdpi: 160 dpi 1×
  • hdpi: 240 dpi 1.5×
  • xhdpi: 320 dpi 2×
  • xxhdpi: 480 dpi 3×
  • xxxhdpi:640 dpi 4×

以上尺寸适用于普通像素图标。操作栏、对话框和选项卡图标、启动器图标和通知图标的大小已修复 android

查看此 link 了解更多详情 http://iconhandbook.co.uk/reference/chart/android/

你得看看现在的智能手机市场。

在这里您可以看到市场上最流行的设备的屏幕尺寸和分辨率。

http://screensiz.es/

以每英寸像素为单位排序列表,您会看到顶级智能手机的分辨率大于 500 ppi 或以其他方式查看,远大于图像的 72ppi。

如果您有足够的 space 来存储或下载图像,请尝试以完整质量进行测试。如果那太多了,请尝试找到折衷方案。降低图像质量并在高分辨率屏幕上查看结果。

请注意,您没有在此处发布图像的总大小,如果大于屏幕尺寸,请查看图像的总大小并压缩以适合您的需要,尽可能保持分辨率.

编辑:只看图像的像素大小,目前智能手机的最大屏幕是 2560 x 1440 像素,因此您不需要比这更大的图像。

通过查看 Android Documentation。可以估计图片的大小。看下面的图片

因此,您的图片分辨率应该与此相似

LDPI:    200 X 320px
MDPI:    320 X 480px
HDPI:    480 X 800px
XHDPI:   720 X 1280px
XXHDPI:  960 X 1600px
XXXHDPI: 1440 x 2560px

一点点 +/- 不会影响结果,因为使用这些标准尺寸,任何肖像图片的纵横比都应该得到尊重。

如果我没看错你的回答,你说的是图像(可爱的猫和狗的照片?),不是图标?

我更喜欢将图像放入 nodpi 文件夹。

nodpi Resources for all densities. These are density-independent resources. The system does not scale resources tagged with this qualifier, regardless of the current screen's density.

然后我会创建一个全屏 ImageView 并让 imageView 在需要时进行缩放