protected override void OnElementChanged(ElementChangedEventArgs <WebView> e) { base.OnElementChanged(e); if (Control == null) { var webView = CreateNativeControl(); #pragma warning disable 618 // This can probably be replaced with LinearLayout(LayoutParams.MatchParent, LayoutParams.MatchParent); just need to test that theory webView.LayoutParameters = new global::Android.Widget.AbsoluteLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent, 0, 0); #pragma warning restore 618 _webViewClient = GetWebViewClient(); webView.SetWebViewClient(_webViewClient); _webChromeClient = GetFormsWebChromeClient(); _webChromeClient.SetContext(Context); webView.SetWebChromeClient(_webChromeClient); webView.Settings.JavaScriptEnabled = true; webView.Settings.DomStorageEnabled = true; SetNativeControl(webView); } if (e.OldElement != null) { var oldElementController = e.OldElement as IWebViewController; oldElementController.EvalRequested -= OnEvalRequested; oldElementController.EvaluateJavaScriptRequested -= OnEvaluateJavaScriptRequested; oldElementController.GoBackRequested -= OnGoBackRequested; oldElementController.GoForwardRequested -= OnGoForwardRequested; oldElementController.ReloadRequested -= OnReloadRequested; } if (e.NewElement != null) { var newElementController = e.NewElement as IWebViewController; newElementController.EvalRequested += OnEvalRequested; newElementController.EvaluateJavaScriptRequested += OnEvaluateJavaScriptRequested; newElementController.GoBackRequested += OnGoBackRequested; newElementController.GoForwardRequested += OnGoForwardRequested; newElementController.ReloadRequested += OnReloadRequested; UpdateMixedContentMode(); } Load(); }
protected override void OnElementChanged(ElementChangedEventArgs <WebView> e) { base.OnElementChanged(e); if (Control == null) { var webView = new AWebView(Context); #pragma warning disable 618 // This can probably be replaced with LinearLayout(LayoutParams.MatchParent, LayoutParams.MatchParent); just need to test that theory webView.LayoutParameters = new global::Android.Widget.AbsoluteLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent, 0, 0); #pragma warning restore 618 webView.SetWebViewClient(new WebClient(this)); _webChromeClient = GetFormsWebChromeClient(); _webChromeClient.SetContext(Context as IStartActivityForResult); webView.SetWebChromeClient(_webChromeClient); webView.Settings.JavaScriptEnabled = true; webView.Settings.DomStorageEnabled = true; SetNativeControl(webView); } if (e.OldElement != null) { e.OldElement.EvalRequested -= OnEvalRequested; e.OldElement.GoBackRequested -= OnGoBackRequested; e.OldElement.GoForwardRequested -= OnGoForwardRequested; } if (e.NewElement != null) { e.NewElement.EvalRequested += OnEvalRequested; e.NewElement.GoBackRequested += OnGoBackRequested; e.NewElement.GoForwardRequested += OnGoForwardRequested; } Load(); }