【问题标题】:Xamarin - No resource Id shown or available in image propertiesXamarin - 图像属性中没有显示或可用的资源 ID
【发布时间】:2023-03-09 18:49:01
【问题描述】:

我正在尝试在 Xamarin 中嵌入图像,并希望看到资源 ID 出现在图像的属性中。这似乎是一个我找不到答案的问题。我已将 VS、JDK 更新为 64 位,更新了 Xamarin,清理重建,重新启动。我正在使用最新的 API (API 27 8.1)

我检查了 Xamarin 论坛和 VS 论坛,但没有可用的答案。在我的代码隐藏中,我正在编写以下内容:

bgImage.Source = ImageSource.FromResource("FoodSnapApps.Images.steps.jpg"); 

显然它不会工作,因为资源没有参考。

一如既往,我们将不胜感激任何帮助。

【问题讨论】:

    标签: xamarin.forms xamarin.android resource-id


    【解决方案1】:

    here 所述,在 Xamarin 表单中,本地图像必须在平台特定项目中加载:

    可以将图像文件添加到每个应用程序项目并从 Xamarin.Forms 共享代码中引用。要在所有应用中使用单个图像,必须在每个平台上使用相同的文件名,并且它应该是有效的 Android 资源名称(即只允许使用小写字母、数字、下划线和句点)。

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

    然后您可以按如下方式访问它们:

    在 XAML 中:<Image Source="waterfront.jpg" />

    在 C# 中:var image = new Image { Source = "waterfront.jpg" };

    我建议您阅读所有该页面的文档以正确处理 Xamarin 表单项目中的图像。

    【讨论】:

    • 谢谢。我会告诉你。我必须阅读 Xamarin 文档。我只是为了公平起见。
    • 所以我阅读了有关图像的文档,并为图像和资源做了几个小时的教程。虽然我知道您给出了正确答案,但背后的代码无法访问图像资源或文件。我不知道为什么。我似乎花更多的时间来修复 IDE,而不是实际完成任何工作。我不是 Xamarin 的粉丝!!!
    • “后面的代码无法访问图片资源”是什么意思?如果您使用该代码并将图像设置在 Android 的可绘制文件夹中,它应该可以工作。如果您需要更多帮助,请使用解决方案结构的图像以及图像资源在哪里更新您的问题;还将你用来获取图片资源的代码放在后面的代码中
    【解决方案2】:

    我知道这是一个老问题,但对于将来可能会访问此页面的人来说,下面的代码对我有用:

    bgImage.Source="resource://FoodSnapApps.Images.steps.jpg"

    【讨论】:

      猜你喜欢
      • 2022-11-16
      • 2010-12-19
      • 2018-06-17
      • 2012-10-09
      • 2019-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多