android webView 修改页面字体颜色

android webView 修改页面字体颜色

问题描述:

    webview加载一个界面后,在onPageFinished中加入修改页面字体颜色css,如下String nightCode = "";
    try {
        InputStream is = getResources().openRawResource(R.raw.day);
        byte[] buffer;
        buffer = new byte[is.available()];
        is.read(buffer);
        is.close();
        nightCode = Base64.encodeToString(buffer, Base64.NO_WRAP);
    } catch (IOException e) {
        e.printStackTrace();
    }
    mWeb.loadUrl("javascript:(function() {"
            + "var parent = document.getElementsByTagName('head').item(0);"
            + "var style = document.createElement('style');"
            + "style.type = 'text/css';"
            + "style.innerHTML = window.atob('" + nightCode + "');"
            + "parent.appendChild(style)" + "})();");

            加载完成后,每次都是先显示原来的页面,过一秒左右在页面所有字体颜色都修改了,有什么办法显示页面之前就替换好字体颜色,先谢谢各位了。

交给前端人员处理,不是你能解决的。

提取公共的样式,就可以搞定

别用js修改样式啊,直接在页面把样式写到页面元素的标签里面

写到页面元素的标签里

#include
using namespace std;

int main()
{
/*
代码
*/

system("pause");
return 0;
}

写到页面元素的标签里面,可以吧

你这个的原因是:**在onPageFinish的时候再修改数据,页面已经加载完了,所以才会有这种过了一会再变的效果**

解决方案1:

自己读取网页数据,更改对应的样式之后,再加载页面

解决方案2:

WEB端提供接口,根据不同的API返回不同的样式

提取前面的样式就可以了

可以用行内样式,虽然不规范