Android-WebView根據設配解析度調整大小
阿新 • • 發佈:2019-02-07
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%,最小縮放等級 ,可以在這裡根據需求來設定縮放比例.