无法在webView上

时间:2017-11-23 10:08:44

标签: android webview

我需要水平滚动和缩放webView,因为我有一个带票务销售的大画布,滚动不适用于低于5.0的设计,但我需要支持版本4.1+。

这是我的webView

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setLoadsImagesAutomatically(true);
    webView.getSettings().setAllowFileAccessFromFileURLs(true);
    webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
    webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
    webView.setScrollbarFadingEnabled(false);
    webView.setVerticalScrollBarEnabled(true);
    webView.setHorizontalScrollBarEnabled(true);
    webView.getSettings().setAppCacheEnabled(false);

    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setDisplayZoomControls(false);
    webView.setWebChromeClient(new WebChromeClient());
    webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
    webView.addJavascriptInterface(new MyJavaScriptInterface(getContext()), "HtmlViewer");
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setDomStorageEnabled(true);
    webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);

    //  webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
    if (Build.VERSION.SDK_INT >= 19) {
        webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
    }
    else {
        webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }

    //  ((GiftsActivity)getActivity()).dismissSpinner();
    webView.setWebViewClient(new WebViewClient() {


        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            view.loadUrl(url);
//                view.reload();

            return false;
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            webView.loadUrl("javascript:HtmlViewer.showHTML" +
                    "(document.getElementsByTagName('pre')[0].innerHTML);");
        }
    });

    webView.loadUrl(url);
    ((GiftsActivity)getActivity()).dismissSpinner();

}

和xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<WebView android:id="@+id/webViewPosterPlaces"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android" />
</LinearLayout>

我尝试将布局更改为相对并更改方向为水平,我也试图将webview放在scrollview中,但它也不会起作用。

顺便说一下,当我放大网页视图时,我也无法横向滚动。 垂直滚动作为放大功能正常工作,但缩小也不起作用

问题已解决:

需要删除此行:webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);

0 个答案:

没有答案