android杂记

android修改webview默认字体

2021-11-12  本文已影响0人  印记乄

在项目中碰到的一个小需求,webview要求设置透明且能够和pc网页端显示一致。

一、webview透明问题,仅需设置一下一行代码即可

webView.setBackgroundColor(Color.TRANSPARENT);

二、要求显示和pc一致

这个问题主要是由于pc加载网页时会同时加载css样式,所以我们仅仅只需要加显示富文本时也同时加载css样式即可

1、在工程assets目录中创建一个css样式文件content.css,例如:

```

body,p,div,h1,h2,h3,h4,h5,h6,span{ color:#d2d3d4 !important; font-size:15px; background:none}

body p span{

color:#d2d3d4 !important;font-size:14px !important;

}

body p.MsoNormal span{

color:#d2d3d4 !important;font-size:14px !important;

}

2、在webview加载的地方使用如下方式加载css和富文本

String linkCss ="<link rel=\"stylesheet\" href=\"file:///android_asset/content.css\" type=\"text/css\">";

StringBuffer bodyBuffer =new StringBuffer("<html><header>");

bodyBuffer.append(linkCss).append("</header>").append(liveRoomInfo.getRoomDesc()).append("</body></html>");

webView.setBackgroundColor(Color.TRANSPARENT);

webView.loadDataWithBaseURL(linkCss, bodyBuffer.toString(), "text/html", "UTF-8", null);

```

下图所示。没有加css,“我是webview!!” 则会黑色显示。

ok!处理完成。正常显示啦!

上一篇 下一篇

猜你喜欢

热点阅读