3

I have a problem with an Android app I am working on.

I loaded a locally stored HTML into a WebView and set:

webSettings.setLoadWithOverviewMode(true);

webSettings.setUseWideViewPort(true);

webSettings.setJavaScriptEnabled(true);

It works great, but just not on ICS 4.0+.

Any ideas what to do?

Here are some screenshots to document the error:

Correct layout Broken layout

Thanks in advance

Xavi
  • 20,111
  • 14
  • 72
  • 63

2 Answers2

1

Give this a try:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

switch (metrics.densityDpi) {
case DisplayMetrics.DENSITY_HIGH:
    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
    break;

case DisplayMetrics.DENSITY_MEDIUM:
    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
    break;

case DisplayMetrics.DENSITY_LOW:
    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.CLOSE);
    break;

default:
    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
    break;
}

See original post

OR Have you tried this?

WebView webview1 = (WebView) findViewById(R.id.webview1);
webview1.setInitialScale(90);
webview1.loadUrl("http://stackoverflow.com");
Community
  • 1
  • 1
Suraj Bajaj
  • 6,630
  • 5
  • 34
  • 49
0

To me this looks more like a styling issue in your CSS code. Try playing around with the width sizes.

You might want to load a difference css for viewing it on a mobile device.

Sambuxc
  • 425
  • 2
  • 11
  • 26