1. 程式人生 > >Android-WebView根據設配解析度調整大小

Android-WebView根據設配解析度調整大小

http://blog.sina.com.cn/s/blog_671d2e4f0100xg1h.html

  • int screenDensity = getResources().getDisplayMetrics().densityDpi ;   
  • WebSettings.ZoomDensity zoomDensity = WebSettings.ZoomDensity.MEDIUM ;   

  • switch (screenDensity){   

  • case DisplayMetrics.DENSITY_LOW :   
  •     zoomDensity = WebSettings.ZoomDensity.CLOSE;   
  •  break;   

  • case DisplayMetrics.DENSITY_MEDIUM:   
  •     zoomDensity = WebSettings.ZoomDensity.MEDIUM;   
  •  break;   

  • case DisplayMetrics.DENSITY_HIGH:   
  •     zoomDensity = WebSettings.ZoomDensity.FAR;   
  •  break ;   
  • }   
  • webSettings.setDefaultZoom(zoomDensity);

平板一般是這三種規格,而手機不少廠商有自己的規格。如三星的galaxy note,density為320,使用以上方法,並無法正常解決網頁顯示異常問題。

可嘗試以下方法:

webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

網頁以單列方式呈現,圖片也會自動壓縮。但是,這要求原網頁的佈局較標準。否則也會存在一定的顯示異常。

事實上,如果網頁程式碼正常,一般可以通過設定下面語句便可

webView.setInitialScale(25); //為25%,最小縮放等級 ,可以在這裡根據需求來設定縮放比例.