protected override void OnElementChanged(ElementChangedEventArgs <EnhancedWebView> e) { base.OnElementChanged(e); Android.Webkit.WebView webView = Control as Android.Webkit.WebView; if (Control == null) { webView = new Android.Webkit.WebView(_localContext); SetNativeControl(webView); } if (e.OldElement != null) { // ... } if (e.NewElement != null) { Dictionary <string, string> headers = Element.CustomHeaders; webView.Settings.JavaScriptEnabled = true; webView.Settings.BuiltInZoomControls = false; //webView.Settings.MediaPlaybackRequiresUserGesture = false; webView.Settings.SetSupportZoom(true); webView.Settings.DomStorageEnabled = true; EnhancedWebViewClient webViewClient = new EnhancedWebViewClient(); webViewClient.Username = Element.Username; webViewClient.Password = Element.Password; webViewClient.Headers = headers; webViewClient.LoadCompleted += (url) => { Element.TriggerEnhancedWebViewLoadCompleted(url); }; webViewClient.LoadError += (errorMsg) => { Element.TriggerEnhancedWebViewLoadError(errorMsg); }; webView.SetWebViewClient(webViewClient); if (Element.Source != null) { if (Element.Source.GetType() == typeof(UrlWebViewSource)) { UrlWebViewSource source = Element.Source as UrlWebViewSource; webView.LoadUrl(source.Url, headers); } } Element.RefreshPageAction = new Action(() => { webView.Reload(); }); } }
protected override void OnElementChanged(ElementChangedEventArgs <EnhancedWebView> e) { base.OnElementChanged(e); web.Webkit.WebView webView = Control as web.Webkit.WebView; if (Control == null) { webView = new web.Webkit.WebView(_localContext); SetNativeControl(webView); } if (e.OldElement != null) { // ... } if (e.NewElement != null) { Dictionary <string, string> headers = Element.CustomHeaders; webView.Settings.JavaScriptEnabled = true; webView.Settings.BuiltInZoomControls = false; webView.Settings.SetSupportZoom(true); EnhancedWebViewClient webViewClient = new EnhancedWebViewClient(); webViewClient.Username = Element.Username; webViewClient.Password = Element.Password; webViewClient.Headers = headers; webView.SetWebViewClient(webViewClient); if (Element.Source != null) { if (Element.Source.GetType() == typeof(UrlWebViewSource)) { UrlWebViewSource source = Element.Source as UrlWebViewSource; webView.LoadUrl(source.Url, headers); } } } }