Xamarin.表格图像不显示

Xamarin.表格图像不显示,xamarin,xamarin.forms,xamarin.android,xamarin.ios,visual-studio-2019,Xamarin,Xamarin.forms,Xamarin.android,Xamarin.ios,Visual Studio 2019,我正在Xamarin Visual Studio 2019中开发一个跨平台应用程序,图像显示出现问题 我试图用以下XAMLcode显示一个图像 <StackLayout Grid.Row="0" Grid.Column="0" Spacing="0" > <Image HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Source="

我正在Xamarin Visual Studio 2019中开发一个
跨平台
应用程序,图像显示出现问题

我试图用以下
XAML
code显示一个图像

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

问题是预览或部署的应用程序上都没有显示图像

我从多个论坛获取了参考资料,包括StackOverflow的帮助,但无法解决这个问题

以下是我解决这个问题的要点和方法

  • 名为
    logo
    的文件是一个android资源文件夹,是一个合适的
    .png
    文件
  • 文件的属性设置为
    AndroidResource
  • 根据此处发布的答案,文件名中没有连字符,并尝试在同一页面上发布其他答案

  • 图像大小307X80像素,因此它在内存或大小范围内


  • Android Drawable文件夹还包含默认的
    xamarin_logo.png
    图像,该文件工作正常。但不是新添加的图像。要将这些图像文件添加到解决方案中,这里是否缺少任何内容?

    您的
    XAML
    代码是正确的,但您缺少图像扩展名
    。png
    您必须定义图像扩展名(格式)例如:(image.png或image.jpeg),这就是图像不显示的原因

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

    在您的案例中,映像扩展或映像路径或映像的生成操作似乎是问题所在。我尝试了你的代码,并且在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>
    
    
    
    注意:我已删除grid.row和grid.column索引,因为我没有在网格内使用StackLayout

    请确保您是否将图像直接保存在Android参考资料中的drawable文件夹中。如果不是,您可能必须将源名称命名为
    FolderName\ImageName.Extension

    有关更多详细信息,请参阅以下链接:

    另外,请确保图像的
    BuildAction
    是否为
    AndroidResource
    Custom Tool
    是否为
    MSBuild:UpdateGeneratedFiles
    。请参考下图

    我得到了我上面发布的代码的以下输出


    我希望这会有帮助。

    我本应该在问题中提到它,但这不是问题所在。其他图像不需要扩展就可以工作,但我仍然尝试使用扩展名
    logo
    。没用了,谢谢你的回答。我按照你的答案做了,但仍然不起作用。如果可能的话,请分享你的项目或你正在使用的确切代码,这样你可以得到更多的帮助。如果你真的做到了我所给的,它一定很好用。当然,这可能是每个人都会犯的一些愚蠢的错误。我能看到的唯一区别是,我在我的示例中尝试了一个64 x 64 Github图像,而不是您提到的大小。我将尝试相同尺寸的图像。如果它不起作用,我将分享代码。它起作用了,我想我在VS中发现了一个bug。让我解释一下。我在我的核心项目中有一个名为images的文件夹,在那里我有所有的图像。当我尝试使用logo时,我将logo.png从该文件夹拖到Android Resource->Drawable文件夹。这就是问题所在。要使图像正常工作,必须使用文件资源管理器os将图像复制到可绘制文件夹中,使用VSs解决方案资源管理器复制文件似乎不起作用。我在任何地方都没有找到这个参考资料。无论如何,谢谢你的广泛回答,这将有助于其他人。当做