使用 Xamarin.Forms 从 URL 显示图像
Posted
技术标签:
【中文标题】使用 Xamarin.Forms 从 URL 显示图像【英文标题】:Show image from URL with Xamarin.Forms 【发布时间】:2016-12-19 00:57:34 【问题描述】:我正在使用此代码显示来自 URL 的图像
.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" x:Class="LandAHand.VolunteerView">
<ContentPage.Content>
<AbsoluteLayout BackgroundColor="Maroon">
<Image x:Name="backgroundImage" AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Aspect="AspectFill" />
</AbsoluteLayout>
</ContentPage.Content>
</ContentPage>
.cs
using System;
using System.Collections.Generic;
using Xamarin.Forms;
namespace LandAHand
public partial class VolunteerView : ContentPage
public VolunteerView()
InitializeComponent();
backgroundImage.Source = new UriImageSource
Uri = new Uri("https://s9.postimg.org/aq1jt3fu7/handshake_87122244_std.jpg"),
CachingEnabled = true,
CacheValidity = new TimeSpan(5, 0, 0, 0)
;
【问题讨论】:
我刚刚测试了它,它可以工作。 【参考方案1】:你可以用你的 Xaml 更轻松地完成这件事,只需让你的 xaml 像这样
<Image x:Name="backgroundImage" Source="https://s9.postimg.org/aq1jt3fu7/handshake_87122244_std.jpg" AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Aspect="AspectFill"/>
并去掉后面代码中相关的代码。兑现默认开启24小时
【讨论】:
在 IOS 设备上工作正常,但在 android 设备上不工作 如果你把它放在一个stacklayout而不是absolute中怎么样?并在不同的设备上试用【参考方案2】:它不起作用,因为您使用的是 https 网址。 要修复它,您应该像这样配置您的 Android 项目: 在项目选项 > Android 选项中,单击高级选项 HttpClient实现:选择Android SSL/TLS 实现:选择 Native TLS 1.2+
https://docs.microsoft.com/en-us/xamarin/android/app-fundamentals/http-stack?tabs=windows
并更新所有 Xamarin.Android 包
【讨论】:
对我不起作用以上是关于使用 Xamarin.Forms 从 URL 显示图像的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Xamarin.forms pcl 中的 Url 检索 json 字符串
如何从 Xamarin.forms pcl 中的 Url 检索 json 字符串