显示图片从URL与Xamarin.Forms

本文关键字:Xamarin Forms URL 显示图 | 更新日期: 2023-09-27 18:01:59

我使用这个代码来显示来自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)
            };
        }
    }
}

此代码可以在iOS上成功运行,但不能在Android上运行。

显示图片从URL与Xamarin.Forms

使用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"/>

并删除后面代码中的相关代码。

它不工作,因为你使用https url。为了修复它,你应该像这样配置你的Android项目:在"项目选项> Android选项"中单击"高级选项"HttpClient实现:选择AndroidSSL/TLS实现:选择原生TLS 1.2+

https://learn.microsoft.com/en-us/xamarin/android/app-fundamentals/http-stack?tabs=windows

并更新所有Xamarin。安卓包