如何为 Xamarin 文件/文件夹结构生成图标,每个文件夹中有两个图像

How to generate icons for Xamarin file/ folder structure with two images in each folder

目前 android 应用的 Xamarin 应用程序中图标的默认结构是:

文件夹:

mipmap-hdpi

mipmap-mdpi

mipmap-xhdpi

mipmap-xxhdpi

mipmap-xxxhdpi

每个文件夹中都有两个 PNG 图片,它们的名称是:

icon.png

launcher_foreground.png

我已经搜索了几个小时以找到某种可以生成“launcher_foreground.png”图像的生成器。我见过的所有生成器都只在每个文件夹中生成一个图像。

根据 Xamarin 的说法,在每个文件夹中包含两个图像是“良好做法”,但我见过的每个生成器都不会以这种方式生成图标。 有没有人知道可以生成上述格式的每个图像的工具?

如果没有,有没有办法可以使用单个 SVG 文件作为图标?由于 SVG 文件可以动态缩放并且已经能够这样做很长时间了。有更好的方法吗?

您不能将 svg 用作您的应用程序图标,因为 Android 不支持,但您可以将图像(svg 或 png)自动调整为 Android、iOS, UWP 标准要求尺寸使用 ResizetizerNT 包。

  1. 在您的所有项目(共享和本机)中下载并安装 Nuget 包。
  2. 将您的图像添加到共享项目,并将其构建操作设置为“SharedImage”(此构建选项仅在安装包后可用)。
  3. 在您的共享项目 .csproj 文件中,为您的图像指定 BaseSize 属性: 它应该对应于 x1 大小或 Android mdpi 大小 48,48 source 和第二个 108,108.
 <ItemGroup>
  <SharedImage Include="icon.svg" BaseSize="48" />
  <SharedImage Include="icon.svg" BaseSize="108" Link="launcher_foreground.png" />
</ItemGroup>
  1. 输出(调整大小)图像将在文件夹中找到:obj\[Debug|Release]0\resizetize\r\

资源

Documentation: How to use it

Author explanation video

Official repo