Xamarin:Android WebView正在加载屏幕的一部分

时间:2019-07-02 03:44:33

标签: android xamarin webview hybrid

我正在尝试从示例代码在HybridWebview上加载登录网页。

该页面仅以某种方式显示所显示的html的一部分:enter image description here

我的代码是:

const string JavascriptFunction = "function invokeCSharpAction(data){jsBridge.invokeAction(data);}";
    Context _context;

    public HybridWebViewRenderer(Context context) : base(context)
    {
        _context = context;
    }

    protected override void OnElementChanged(ElementChangedEventArgs<HybridWebView> e)
    {
        base.OnElementChanged(e);

        if (e.OldElement != null)
        {
            Control.RemoveJavascriptInterface("jsBridge");
            var hybridWebView = e.OldElement as HybridWebView;
            hybridWebView.Cleanup();
        }
        if (e.NewElement != null)
        {
            if (Control == null)
            {
                var webView = new Android.Webkit.WebView(_context);
                webView.SetY(500);
                webView.Settings.JavaScriptEnabled = true; 
                webView.Settings.DomStorageEnabled = true; 
                webView.VerticalScrollBarEnabled = true;
                webView.SetWebViewClient(new JavascriptWebViewClient($"javascript: {JavascriptFunction}"));
                SetNativeControl(webView);
            }
            Control.AddJavascriptInterface(new JSBridge(this), "jsBridge");
            Control.LoadUrl(Element.Uri);
        }
    }

蓝色背景是Web视图的背景。我降低显示器的下方,以查看其余屏幕是否隐藏在顶部。

0 个答案:

没有答案