客戶給了一個(gè)word文檔,是一個(gè)應(yīng)用協(xié)議的聲明,要放到app中展示;
想到了先轉(zhuǎn)換成html文件(word直接另存為html就可以),再用WebView加載顯示;
將html文件放到assets目錄下;然后調(diào)用代碼
只用setLoadWithOverviewMode(true)和setUseWideViewPort(true)的時(shí)候,寬度沒(méi)有超出屏幕寬度,但是顯示出來(lái)的字體大小不對(duì);
設(shè)置了setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN)的時(shí)候,字體大小倒是合適了,但是寬度會(huì)超出屏幕寬度
最后網(wǎng)上找了好久,終于發(fā)現(xiàn)了問(wèn)題,因?yàn)橹霸O(shè)置的webview控件寬高都是match_parent;
改為wrap_content,然后設(shè)置setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN)即可正常顯示;
WebView webView = (WebView) findViewById(R.id.web_protocol);
WebSettings settings = webView.getSettings();
// 自適應(yīng)屏幕
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
// settings.setLoadWithOverviewMode(true);
//擴(kuò)大比例的縮放
// settings.setUseWideViewPort(true);
//設(shè)置支持js
settings.setJavaScriptEnabled(true);
// 設(shè)置可以支持縮放
settings.setSupportZoom(true);
// 設(shè)置出現(xiàn)縮放工具
// settings.setBuiltInZoomControls(true);
//根據(jù)屏幕密度設(shè)置
// DisplayMetrics dm = new DisplayMetrics();
// getWindowManager().getDefaultDisplay().getMetrics(dm);
// if (dm.densityDpi > 240 ) {
// settings.setDefaultFontSize(70); //可以取1-72之間的任意值盟戏,默認(rèn)16
// }
// settings.setTextSize(WebSettings.TextSize.LARGEST);
webView.setBackgroundColor(Color.TRANSPARENT); // WebView 背景透明效果
webView.loadUrl("file:///android_asset/protocol.html");