【问题标题】:Image not shown in Xamarin androidXamarin android中未显示图像
【发布时间】:2019-11-23 03:21:37
【问题描述】:

这是我的 .xaml 文件的内容:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             x:Class="App1.MainPage">

    <StackLayout>
        <Label Text="HelloWorld"></Label>
        <Image Source="https://placehold.it/100"></Image>
    </StackLayout>

</ContentPage>

看起来是这样的:

这是我的项目设置:

我没有mac,看看iOS是否存在问题。

【问题讨论】:

  • @FreakyAli 这并不能解释我的问题是什么。
  • 这是 Xamarin.Forms 图像控件的一个已知问题,它不能很好地与 URL 一起使用,您可能还需要考虑您的图像本身没有公共访问权限或私有托管的事实

标签: xaml xamarin


【解决方案1】:

从 Xamarin.Forms 4.2 更新到 Xamarin.Forms 4.3 修复了它。

【讨论】:

  • 感谢您的分享。不要忘记接受答案。
  • 非常感谢
【解决方案2】:

这是一个常见问题。在大多数情况下,这是由于链接不良造成的。 尝试一个像这样指定图像扩展名的 url:

https://secure.webtoolhub.com/static/resources/icons/set113/55ba4962.png

或者,尝试在您当前使用的网址末尾添加“.png”。

我注意到,如果您使用未指定扩展名的 url,应用程序在渲染图像时会出现问题。

【讨论】:

  • 我已经用你的链接更改了链接。还是同样的问题。
  • placehold.it/100.png" HeightRequest="300" /> 尝试设置HeightRequest:这告诉系统图像应该具有哪个维度。不需要 WidthRequest,因为默认情况下会保留纵横比。此外,如果您不在组件的标签之间放置任何内容,则使用扩展声明是一种不好的做法。使用如上所示的简短声明。
  • 您评论中的代码导致应用崩溃,我在链接开头添加了 https://,现在应用没有崩溃,但仍然没有出现图像。
  • 是的,这显然是一个例子。当然,您必须使用完整的 url。尝试另一个 url,就像我在第一个答案中发布的那样,你会发现应该这样做。
  • 另一个问题可能是托管图像的站点使用 https 作为协议,而图像本身使用的是 http 或反向协议。这里有更详细的解释:forums.xamarin.com/discussion/105036/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 2020-06-20
  • 2019-10-20
  • 2020-06-10
  • 2014-09-05
  • 1970-01-01
相关资源
最近更新 更多