首页 > 解决方案 > 如何为 Xamarin 文件/文件夹结构生成图标,每个文件夹中有两个图像

问题描述

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

文件夹:

mipmap-hdpi

mipmap-mdpi

mipmap-xhdpi

mipmap-xxhdpi

mipmap-xxxhdpi

在每个文件夹中都有两个名为的 PNG 图像:

图标.png

launcher_foreground.png

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

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

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

标签: c#androidxamariniconsimage-resizing

解决方案


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

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

资源

文档:如何使用它

作者解释视频

官方回购


推荐阅读