WebView-合理的用法(避免文字乱码+文字大小适配)(一)

----  从本地加载+图片宽高自适应屏幕

  //设置自适应屏幕,两者合用
        settings.setUseWideViewPort(true); //将图片调整到适合webview的大小
        settings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
        webView.loadDataWithBaseURL(null, htmlContent, "text/html", "utf-8", null);
如果使用loadData(htmlContent,"text/html","utf-8");会出现文字乱码,

webView.loadData(htmlContent, "text/html", "utf-8");

----  指定字体大小

 int fontSize = (int) getResources().getDimension(R.dimen.y28);
        Log.i(TAG, "initView: fontSize = " + fontSize);
        settings.setDefaultFontSize(fontSize);


---- 最好的适配方案是在Html5源代码中把样式配好。


----WebView比Browser功能要弱,核心目的是展示页面,官方介绍

It does not include any features of a fully developed web browser, such as navigation controls or an address bar.
 All that WebView does, by default, is show a web page.

==================

-----  一个成功的案例,依据 Html5 内容,借助css样式实现是适配,只用css即可,不需要webview的任何setting

 String origianlHtmlStr = result.getData().getContentList();
     
        String cssLayout = "";
        String htmlModify = origianlHtmlStr.replaceAll("
", ""); String htmlcontent = cssLayout + "
" + htmlModify + "
"; webView.loadDataWithBaseURL(null, htmlcontent, "text/html", "UTF-8", null);

------ origin html str

华春莹在当天举行的外交部例行记者会上对《环球时报》记者表示,中方一直在关注日本福岛核泄漏极其后续影响。 “我注意到在福岛核事故发生六周年之际,日本国内媒体也在大量报道评论,总体认为日本政府在污染水和土壤及放射性废弃物处理方面缺乏有效手段, 向海洋排放核污水给周边海洋环境和民众健康带来隐患,有关对策滞后且信息公开不透明,食品安全等相关数据缺乏足够说服力。

表示,中方一直在关注日本福岛核泄漏极其后续影响。“我注意到在福岛核事故发生六周年之际,日本国内媒体也在大量报道评论, 总体认为日本政府在污染水和土壤及放射性废弃物处理方面缺乏有效手段,向海洋排放核污水给周边海洋环境和民众健康带来隐患, 有关对策滞后且信息公开不透明,食品安全等相关数据缺乏足够说服力。



------- 之前添加了以下的setting+以上css适配导致错误

 settings.setUseWideViewPort(true); //将图片调整到适合webview的大小
  settings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小



你可能感兴趣的:(Html5+WebView)