Ich komme heute, weil ich auf der Last eines GIF mit der Android-Plattform stecken bin. Ich weiß, dass es funktioniert, weil es für UWP und iOS funktioniert, aber Android funktioniert nicht ..Xamarin Forms - WebView Html Quellproblem
ich dieses Objekt haben:
public class Gif : WebView
{
public string GifSource
{
set
{
var html = new HtmlWebViewSource();
html.Html = String.Format(@"<html><body style='background: #FF0000;'><img src='{0}' style='width:100%;height:100%;'/></body></html>", "https://media.giphy.com/media/UGifMFmx0gERG/giphy.gif");
Debug.WriteLine("Html.Source = '{0}'", html.Html);
this.Margin = -10;
this.Source = html;
}
get { return (string)GetValue(SourceProperty); }
}
}
So erkläre ich gerade diese Gif
in meiner XAML-Seite:
<AbsoluteLayout AbsoluteLayout.LayoutBounds="0.5, 0.5, 1, 1" AbsoluteLayout.LayoutFlags="All">
<control:Gif
AbsoluteLayout.LayoutBounds="0.5, 0, 1, 0.9"
AbsoluteLayout.LayoutFlags="All"
BackgroundColor="Red"
GifSource="Gifs/LoginBackground.gif" />
<BoxView
AbsoluteLayout.LayoutBounds="0.5, 0.5, 1, 1"
AbsoluteLayout.LayoutFlags="All"
BackgroundColor="Transparent" />
</AbsoluteLayout>
PS: Ich erkläre eine BoxView
, um die Möglichkeit zu umgehen, die Webansicht durch eine Benutzergeste zu verschieben.
Nun ist die Sache ist, es auf UWP funktioniert perfekt, mit dem sowohl Code:
html.Html = String.Format(@"<html><body style='background: #FF0000;'><img src='{0}' style='width:100%;height:100%;'/></body></html>", "https://media.giphy.com/media/UGifMFmx0gERG/giphy.gif");
this.Source = html;
oder
this.Source = "https://media.giphy.com/media/UGifMFmx0gERG/giphy.gif";
Auf Android, die this.Source = "https://media.giphy.com/media/UGifMFmx0gERG/giphy.gif";
funktioniert, aber die erste Lösung nicht Arbeit, was ein Problem ist. Durch das Erstellen meiner eigenen HTML erlaubt es mir, das GIF füllen meine Ansicht im Gegensatz zu den Link ... Zu mehr Punkt, wenn ich die style='width:100%;height:100%;'
des HTML löschen, funktioniert es, aber noch einmal, nicht mit der guten Größe ..
Irgendeine Idee? Danke im Voraus !