Xamarin Forms - Webview nicht angezeigt
Arbeite ich an einem kleinen Xamarin.Formen webview Anwendung. Dies ist ein follow-up-Frage auf die niemand geantwortet bisher, xamarin-forms-making-webview-go-back
Also ich habe eine Symbolleiste und eine Schaltfläche "zurück" umgesetzt und funktioniert. Aber wenn ich das Programm mit dem emulator bereits geöffnet ist(im mit Genymotion), das Programm läuft und zeigt die Symbolleiste zusammen mit der zurück-Taste...aber Nein, webview wird angezeigt.
Aber hier ist das merkwürdige, manchmal, wenn ich das Programm ausführen, wenn der emulator ist im sleep-Modus und schalten Sie es dann wieder auf das Programm perfekt funktioniert. Auch, wenn ich es getestet auf iOS-es zeigte einfach die Symbolleiste und kein webview an alle! Mehr dann oft nicht, den emulator einfach nicht zeigen, das webView. Ich habe auch getestet, auf meinem Android-Gerät und das gleiche passiert, es wird die Symbolleiste anzeigen, aber nicht die webview.
Abit verwirrend ich weiß, aber kann jemand mir helfen, mit diesem.
Werde ich Anhängen meinen code unter:
App.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Xamarin.Forms;
namespace WebView_form
{
public class App : Application
{
public App()
{
//const string URL = "http://www.google.com";
MainPage = new NavigationPage(new WebPage());
}
protected override void OnStart()
{
//Handle when your app starts
}
protected override void OnSleep()
{
//Handle when your app sleeps
}
protected override void OnResume()
{
//Handle when your app resumes
}
}
}
Webseite.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using Xamarin.Forms;
namespace WebView_form
{
public class WebPage : ContentPage
{
private WebView webView;
public WebPage()
{
webView = new WebView
{
Source = "https://www.google.com"
};
//toolbar
ToolbarItems.Add(new ToolbarItem("Back", null, () =>
{
webView.GoBack();
}));
Content = new StackLayout
{
Children = { webView }
};
}
}
}
Wenn jemand mir helfen können, wäre es toll.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Legen Sie die
VerticalOptions
zuFillAndExpand
und tun das gleiche fürHorizontalOptions
wenn das nicht funktioniert.Wahrscheinlich die
WebView
ist immer eine Größe null Höhe, weil, wenn das layout passiert, die Aussicht ist immer noch leer.So ändern Sie den code in Ihre Webseite ein.cs wie diese;
Andere Sache zu berücksichtigen: Wenn Sie die Antwort auf die WebView.Navigieren Ereignis, sicher sein, nicht seine Argumente.Cancel auf true, wenn die Seite geladen wird, die WevView.Quelle. Die iOS-Umsetzung von WebView.Die Navigation wird ausgelöst, wenn die WebView.Quelle geladen wird, aber die Android-Umsetzung nicht. Wenn Sie args.Cancel auf true, wenn die Seite in Frage ist die WebView.Quelle, die WebView wird leer sein.
Setzen Sie diese in Ihrem Info.plist zu umgehen, um den Transport von App-Security-check. Besuchen Sie https://developer.apple.com/documentation/bundleresources/information_property_list/nsapptransportsecurity für mehr info.
Hinweis: Meine URL ist schon HTTPS, nicht sicher, warum es ist immer noch blockiert.