温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Xamarin.Forms Images not showing
visual-studio-2019 xamarin xamarin.android xamarin.forms xamarin.ios

其他 - Xamarin.Forms图片未显示

发布于 2020-04-15 00:12:16

我正在Cross-PlatformXamarin Visual Studio 2019中开发一个应用程序,并且图像显示出现问题。

我正在尝试使用以下XAML代码显示图像

<StackLayout Grid.Row="0" Grid.Column="0" Spacing="0" >
    <Image
        HorizontalOptions="CenterAndExpand"
        VerticalOptions="CenterAndExpand"
        Source="logo"
        WidthRequest="{OnPlatform iOS=300, Android=250}">
    </Image>
</StackLayout>

问题是image not displaying on either preview or deployed app

我从多个论坛获得了参考,包括StackOverflow的帮助,但无法解决此问题。

以下是我致力于解决此问题的要点和方法。

  1. 名为的文件logo是android资源文件夹,并且是正确的.png文件。
  2. 文件的属性设置为AndroidResource
  3. 根据此处发布的答案,Xamarin Images未显示,文件名中没有连字符,并且还在同一页面上尝试了其他已发布的答案。

  4. 图像尺寸为307X80像素,因此完全在内存或尺寸范围内。

Android Drawable文件夹还包含默认xamarin_logo.png图像,并且该文件运行良好。但不是新添加的图像。我在这里缺少将这些图像文件添加到解决方案中的任何内容吗?

查看更多

提问者
Mahadev
被浏览
64
Harikrishnan 2020-02-04 03:14

在您的情况下,图像扩展名或图像路径或图像的构建操作似乎都是问题。我尝试了您的代码,并且对png和jpg图像均能正常工作。

<StackLayout Spacing="0">
    <Image HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand"
            Source="github.png" WidthRequest="{OnPlatform iOS=300, Android=250}" />
    <Image HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand"
            Source="githubb.jpg" WidthRequest="{OnPlatform iOS=300, Android=250}" />
</StackLayout>

注意:由于我不在网格内使用StackLayout,因此删除了grid.row和grid.column索引。

请确保您是否将图像直接保存在Android资源中的drawable文件夹中。否则,您可能必须将Source名称指定为FolderName\ImageName.Extension

请参阅下面的链接以获取更多详细信息:

https://docs.microsoft.com/zh-cn/xamarin/xamarin-forms/user-interface/images?tabs=windows#local-images

另外,请确保BuildAction您的图片的“是” AndroidResource和“ Custom Tool是” MSBuild:UpdateGeneratedFiles请参考下图。

在此处输入图片说明

对于上面发布的代码,我得到了以下输出。

在此处输入图片说明

希望对您有所帮助。