当前位置:   article > 正文

设置WebView字体颜色,背景颜色_webview改变字体颜色

webview改变字体颜色

上次总结了一下WebView更改字体大小的帖子,这次在加点料,索性把webView的字体颜色和背景颜色都设置一下。   现在的App大多数支持日夜间模式的切换,对于新闻阅读类的App,更改WebView的日夜间模式,显得尤为重要。更改字体颜色,主要的思想是在WebView加载的Data的外面,加载了一个模板,然后根据用户日夜间模式切换的点击事件,更改WebView的字体颜色。其实这里例子懂了之后,以后对于WebView的界面处理,就简单很多。都是加载模板,更改里面的内容。有的服务器返回的data格式,在手机上显得很格格不入,那样的话就需要,在处理后的data上,再加一个正则表达式的过滤了,详细需要过滤的,还得根据不同情况,查询不同的过滤规则。言归正传,先说说这个更改字体颜色的核心代码。

  1. private String initContent(String content, boolean night, boolean flag) {
  2. try {
  3. InputStream inputStream = getResources().getAssets().open(
  4. "discover.html");
  5. BufferedReader reader = new BufferedReader(new InputStreamReader(
  6. inputStream), 16 * 1024);
  7. StringBuilder sBuilder = new StringBuilder();
  8. String line = null;
  9. while ((line = reader.readLine()) != null) {
  10. sBuilder.append(line + "\n");
  11. }
  12. String modelHtml = sBuilder.toString();
  13. inputStream.close();
  14. reader.close();
  15. String contentNew = modelHtml.replace(
  16. "<--@#$%discoverContent@#$%-->", content);
  17. if (night) {
  18. contentNew = contentNew.replace("<--@#$%colorfontsize2@#$%-->",
  19. "color:#8f8f8f ;");
  20. } else {
  21. contentNew = contentNew.replace("<--@#$%colorfontsize2@#$%-->",
  22. "color:#333333 ;");
  23. }
  24. if (flag) {
  25. contentNew = contentNew.replace(
  26. "<--@#$%colorbackground@#$%-->", "background:#B4CDE6");
  27. } else {
  28. contentNew = contentNew.replace(
  29. "<--@#$%colorbackground@#$%-->", "background:#F9BADA");
  30. }
  31. return contentNew;
  32. } catch (IOException e) {
  33. // TODO Auto-generated catch block
  34. e.printStackTrace();
  35. }
  36. return null;
  37. }

通过这段代码,就可以设置更改字体颜色,和背景色。另再附上一个简单的模板,仅供参考。

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  4. <meta name="viewport"
  5. content="width = device-width, initial-scale = 1, minimum-scale = 1, maximum-scale = 1" />
  6. <title></title>
  7. <link href="newscont.css" type="text/css" rel="stylesheet"></link>
  8. </head>
  9. <body style="" data-webview-width="{{webview_width}}"
  10. data-webview-height="{{webview_height}} ">
  11. <div id="content" class="main fontSize1">
  12. <p class="title" align="center" id="title"
  13. style="font-family: 'Microsoft YaHei';">
  14. <!-- 标题 -->
  15. </p>
  16. <div>
  17. <span class="src" id="source" style="font-family: 'Microsoft YaHei';">
  18. <!-- 来源 --> </span>
  19. </div>
  20. <div id="discoverContent"
  21. style="margin-top: 10px; <--@#$%colorbackground@#$%-->;border-top: 0px solid #cbcbcb; font-family: 'Microsoft YaHei'; <--@#$%colorfontsize2@#$%-->; width: 100%; height: auto"
  22. >
  23. <!-- 正文 -->
  24. <--@#$%discoverContent@#$%-->
  25. </div>
  26. </div>
  27. </body>
  28. <script language="javascript" src="jquery.js" charset="utf-8"></script>
  29. <script src="jquery.lazyload.js" type="text/javascript" charset="utf-8"></script>
  30. <script src="newscont.js" type="text/javascript" charset="utf-8"></script>
  31. <script type="text/javascript" charset="utf-8">
  32. function addlist(listStr) {
  33. var elem = document.getElementById("recommand-list");
  34. elem.innerHTML = listStr;
  35. }
  36. $(document).ready(function() {
  37. tna.adjustImageSize();
  38. $("img").lazyload({
  39. effect : "fadeIn"
  40. });
  41. });
  42. </script>
  43. </html>


转载请注明出处http://blog.csdn.net/lxm20819/article/details/51121461

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/796390
推荐阅读
相关标签
  

闽ICP备14008679号