简体   繁体   中英

Show image from URL with Xamarin.Forms

I am using this code to show image from an 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)
            };
        }
    }
}

This code is successfully working with iOS but it is not working with Android.

Well you can do this thing easier with your Xaml just make your xaml like this

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

And remove the code related in the code behind. The cashing is enabled by default for 24 hours

It's not working because you use a https url. For fix it, you should be configure your Android Project like this : In Project Options > Android Options, click Advanced Options HttpClient implementation : choose Android SSL/TLS implementation : choose Native TLS 1.2+

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

And update all Xamarin.Android packages

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM