我正在Cross-Platform
Xamarin 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的帮助,但无法解决此问题。
以下是我致力于解决此问题的要点和方法。
logo
是android资源文件夹,并且是正确的.png
文件。AndroidResource
。根据此处发布的答案,Xamarin Images未显示,文件名中没有连字符,并且还在同一页面上尝试了其他已发布的答案。
图像尺寸为307X80像素,因此完全在内存或尺寸范围内。
Android Drawable文件夹还包含默认xamarin_logo.png
图像,并且该文件运行良好。但不是新添加的图像。我在这里缺少将这些图像文件添加到解决方案中的任何内容吗?
在您的情况下,图像扩展名或图像路径或图像的构建操作似乎都是问题。我尝试了您的代码,并且对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
。
请参阅下面的链接以获取更多详细信息:
另外,请确保BuildAction
您的图片的“是” AndroidResource
和“ Custom Tool
是” MSBuild:UpdateGeneratedFiles
。请参考下图。
对于上面发布的代码,我得到了以下输出。
希望对您有所帮助。
谢谢您的回答。我听了您的回答,但仍然无法正常工作。
如果可能,请您分享您的项目或使用的确切代码,以便获得更多帮助。如果您完全按照我的意愿做了,那一定很好。当然,每个人都倾向于错过某些愚蠢的错误。
我能看到的唯一区别是,我在示例中尝试使用64 x 64 Github图像而不是您提到的尺寸。
我将尝试使用相同尺寸的图像。如果不起作用,我将分享代码。
它的工作原理如此,我认为我在VS中发现了一个错误。让我解释。我的核心项目中有一个名为images的文件夹,其中包含所有图像。当我尝试使用徽标时,将logo.png从该文件夹拖动到Android Resource-> Drawable文件夹。这就是问题所在。为了使图像正常工作,必须使用File Explorer os OS将图像复制到可绘制的文件夹中,使用VSs Solution Explorer复制文件似乎无效。我在任何地方都找不到此参考。无论如何,感谢您的广泛回答,将帮助他人。问候