首页 > 解决方案 > 您可以使用单个矢量图像作为带有 Cordova 的 Android 的自适应图标吗?

问题描述

我有一个原生使用 Cordova 构建的 Android 应用程序,它以前使用 PNG 图像作为我们试图转换为自适应图标的图标。完全披露 - 我很少使用 Android Studio,但可以并且会根据需要。Cordova 的文档 ( https://cordova.apache.org/docs/en/latest/config_ref/images.html#android ) 显示为自适应图标引用多个图像文件:

<platform name="android">
  <icon background="res/icon/android/ldpi-background.xml" density="ldpi" foreground="res/icon/android/ldpi-foreground.xml" src="res/android/ldpi.png" />
  <icon background="res/icon/android/mdpi-background.xml" density="mdpi" foreground="res/icon/android/mdpi-foreground.xml" src="res/android/mdpi.png" />
  <icon background="res/icon/android/hdpi-background.xml" density="hdpi" foreground="res/icon/android/hdpi-foreground.xml" src="res/android/hdpi.png" />
  <icon background="res/icon/android/xhdpi-background.xml" density="xhdpi" foreground="res/icon/android/xhdpi-foreground.xml" src="res/android/xhdpi.png" />
  <icon background="res/icon/android/xxhdpi-background.xml" density="xxhdpi" foreground="res/icon/android/xxhdpi-foreground.xml" src="res/android/xxhdpi.png" />
  <icon background="res/icon/android/xxxhdpi-background.xml" density="xxxhdpi" foreground="res/icon/android/xxxhdpi-foreground.xml" src="res/android/xxxhdpi.png" />
</platform>

我知道 Android 想要一个类似于 SVG 的“矢量可绘制”图像,我可以将 SVG 转换为该格式。但是,Android 文档 ( https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive ) 似乎需要 108dp x 108dp 的单个矢量图像。我不确定“dp”是什么意思,但我认为它是向量的相对坐标系。

让我感到困惑的是,Android 文档需要 108dp x 108dp 的单个矢量,但 Cordova 文档显示链接 6 个单独的 XML 文件(矢量可绘制图像)。为什么需要 6 个不同的矢量图像?这不是违背目的吗?完成这项工作的人能否阐明 Cordova for Andoid 中这 6 个不同的图像文件的预期?谢谢!

标签: androidcordova

解决方案


推荐阅读