Reputation: 273
I need to scroll and zoom webView horizontally, because i have a big canvas with ticket sales, and scroll isn't working on devise lower than 5.0, but i need to support versions 4.1+.
Here's my 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();
}
and 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>
I tried to change layout to relative and changing orientation to horisontal, also i tried to put webview inside scrollview, but it won't works too.
By the way when i zoom in web view i also can't scroll horizontal. vertical scroll works properly as a Zoom in, but zoom out don't work too
PROBLEM RESOLVED:
Need to remove this line: webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN
);
Upvotes: 1
Views: 1823
Reputation: 273
Need to remove this line: webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN)
Upvotes: 1