① android webview默認屏幕為中像素密度怎麼修改
Android中Webview載入的頁面居中顯示為中等像素密度的方法如下:
第一種方法:
WebSettings settings = webView.getSettings();
settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
LayoutAlgorithm是一個枚舉用來控制頁面的布局,有三個類型:
1.NARROW_COLUMNS:可能的話使所有列的寬度不超過屏幕寬度
2.NORMAL:正常顯示不做任何渲染
3.SINGLE_COLUMN:把所有內容放大webview等寬的一列中
用SINGLE_COLUMN類型可以設置頁面居中顯示,頁面可以放大縮小
第二種方法:
//設置載入進來的頁面自適應手機屏幕
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
第一個方法設置webview推薦使用的窗口,設置為true。第二個方法是設置webview載入的頁面的模式,也設置為true。這方法可以讓你的頁面適應手機屏幕的解析度,完整的顯示在屏幕上,可以放大縮小。
第三種方法:(主要用於平板,針對特定屏幕代碼調整解析度)
java">DisplayMetricsmetrics=newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
intmDensity=metrics.densityDpi;
if(mDensity==120){
settings.setDefaultZoom(ZoomDensity.CLOSE);
}elseif(mDensity==160){
settings.setDefaultZoom(ZoomDensity.MEDIUM);
}elseif(mDensity==240){
settings.setDefaultZoom(ZoomDensity.FAR);
}
Android中的webview其實是一個瀏覽器,對js進行解析以便於在智能機上面很好的顯示。
② 如何設置android webview默認為高等像素密度
因為Android下瀏覽器默認的並不是實際像素,而是中像素密度。(註:Android支持三種屏幕像素密度:低像素密度,中像素密度,高像素密度),所以要設置android webview默認為高等像素密度的話,需要在js中設置如下代碼:
<metacontent='width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,target-densitydpi=device-dpi'name='viewport'>
這裡面,target-densitydpi的功能就是指定屏幕像素密度DPI。它的參數有:
device-dpi –使用設備原本的 dpi 作為目標dpi。不會發生默認縮放。
high-dpi – 使用hdpi作為目標dpi。中等像素密度和低像素密度設備相應縮小。
medium-dpi – 使用mdpi作為目標dpi。 高像素密度設備相應放大, 像素密度設備相應縮小。這是默認的target density。
low-dpi -使用mdpi作為目標dpi。中等像素密度和高像素密度設備相應放大。
<value> – 指定一個具體的dpi值作為target dpi。這個值的范圍必須在70–400之間。