我们可以在 Xamarin 共享项目中将多分辨率图像作为嵌入式文件吗?

Can we have Multiple Resolution Images as Embedded Files in Xamarin Shared Project?

在我的应用程序中,我有一堆图像,我目前在我的 Xamarin 共享项目中引用它们。例如,我有以下代码:

<Image x:Name="imgAddNewProject" HeightRequest="30" WidthRequest="30" Source="{imgres:ImageResource FoodApp.Images.addnew.png}"/>

图像文件位于共享项目的图像文件夹中。除了图像在低分辨率环境中出现锯齿外,所有这些都工作正常。除了名为 addew.png 的单个图像,我可以使用以下内容吗:

addnew.scale-100.png
addnew.scale-125.png
addnew.scale-150.png
addnew.scale-200.png
addnew.scale.400.png

这意味着平台将在运行时选择具有正确分辨率的图像。当我引用平台特定代码中的图像时,我知道这是有效的。例如在 UWP 项目的资产文件夹或 Android 项目的 assets\drawable 文件夹中。我更喜欢将所有图像都放在共享项目中,同时还要考虑多种屏幕分辨率。

我们将不胜感激。

如果要使用多分辨率图片,需要在各个平台添加图片文件。

要在所有应用程序中使用同一张图片,必须在每个平台上使用相同的文件名,并且它应该是有效的 Android 资源名称(即只有小写字母、数字、下划线和期间是允许的)。

  • iOS - 自 iOS 9 以来管理和支持图像的首选方法是使用资产目录图像集,它应该包含所有支持应用程序的各种设备和比例因子所必需的图像版本。有关详细信息,请参阅将图像添加到资产目录图像集。
  • Android - 使用 Build Action: AndroidResource 将图像放在 Resources/drawable 目录中。还可以提供图像的高 DPI 和低 DPI 版本(在适当命名的 Resources 子目录中,例如 drawable-ldpi、drawable-hdpi 和 drawable-xhdpi).i)。

更多详细信息,请查看 MS 文档。 https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/images?tabs=windows#local-images