webview网页自适应手机屏幕大小

WebSettings webSettings = webview.getSettings();
    webSettings.setSupportZoom(true);
    webSettings.setJavaScriptEnabled(true);
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
    webSettings.setBuiltInZoomControls(true);//support zoom
    webSettings.setPluginsEnabled(true);//support flash
    webSettings.setUseWideViewPort(true);//關鍵點
    webSettings.setLoadWithOverviewMode(true);

 

DisplayMetrics metrics = new DisplayMetrics();
  getWindowManager().getDefaultDisplay().getMetrics(metrics);
  int mDensity = metrics.densityDpi;
  DebugLog.d(TAG, "densityDpi = " + mDensity);
  if (mDensity == 240) { 
   webSettings.setDefaultZoom(ZoomDensity.FAR);
  } else if (mDensity == 160) {
     webSettings.setDefaultZoom(ZoomDensity.MEDIUM);
  } else if(mDensity == 120) {
   webSettings.setDefaultZoom(ZoomDensity.CLOSE);
  }else if(mDensity == DisplayMetrics.DENSITY_XHIGH){
   webSettings.setDefaultZoom(ZoomDensity.FAR); 
  }else if (mDensity == DisplayMetrics.DENSITY_TV){
   webSettings.setDefaultZoom(ZoomDensity.FAR); 
  }

 很多时候根据屏幕像素密度动态设置页面的默认缩放密度适配效果也不理想,这时候需要手动调用setDefaultZoom方法去调试用那个参数更合适。

转载自:http://blog.csdn.net/to_cm/article/details/7801918

你可能感兴趣的:(Android技术)