Xamarin Forms - Webview页面的点击和水平滚动不能正常工作。

问题描述 投票:0回答:1

我在Xamarin窗体应用中有一个webview,用于渲染html内容和隐私政策。我面临两个问题,如下。

  • 内容页面或页面弹出窗口不响应点击操作。
  • 页面中显示的图片尺寸较大,我无法水平滚动这些图片。

请注意。 在iOS系统中,一切都很好,没有问题。

请看我的droid渲染实现。

public override bool DispatchTouchEvent(MotionEvent e)
{
    RequestDisallowInterceptTouchEvent(true);
    return base.OnTouchEvent(e);
}

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

    if (null == e.OldElement)
    {
        var webView = Element as CustomWebView;
        Control.SetBackgroundColor(Android.Graphics.Color.Transparent);
        Control.Settings.AllowUniversalAccessFromFileURLs = true;
        Control.Settings.BuiltInZoomControls = true;
        Control.Settings.DisplayZoomControls = true;
        Control.Settings.JavaScriptEnabled = true;
        Control.Settings.DomStorageEnabled = true;
        Control.Settings.EnableSmoothTransition();
        Control.Settings.SetSupportMultipleWindows(true);

        Control.SetWebViewClient(new ExtendedWebViewClient(webView));
        Control.SetWebChromeClient(new MyWebChromeClient());

        Control.LoadUrl(control.Uri);
    }
}

我已经尝试了不同的选项,但没有运气。任何帮助将是非常感激的。

html xamarin.forms android-webview custom-renderer
1个回答
1
投票

请禁用DispatchTouchEvent方法。webView.Settings.UseWideViewPort=true; 在你 WebViewRenderer.你可以使用以下代码在你的 WebViewRenderer

 var webView = (global::Android.Webkit.WebView)Control;
 webView.Settings.UseWideViewPort=true;

如果我有一个长按钮,如果我添加这个属性,这里是运行的GIF。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.