Android WebView在按钮单击时更改html的背景和文本颜色

时间:2015-09-28 12:15:29

标签: javascript android html css

我正在尝试为我的应用创建一个夜间模式,该模式在按钮点击时触发,这是一个来自Android的视图。点击我希望webview通过CSS使用自定义样式更改它的背景颜色和字体颜色,但我不知道如何做到这一点。我知道如何创建一个Javascript,但我不知道如何在我的应用程序上实现它,因为我需要的是后台更改而不重新加载页面。我试着阅读一些似乎与我的问题类似的问题,但没有一个问题真正吸引到我身上,而且我的理解并不是那么详细。

此外,我的数据是事先使用

创建的
content.loadDataWithBaseURL(null, MY_HTML_CODE, "text/html", "utf-8", null);

所以我可以注入一些脚本以防万一。

我不确定如何将这个answer与其他问题联系起来,或者让我更加困惑。

希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:2)

我已经找到了我的问题的解决方案,就是手动设置按钮的javascript onClick:

@onClick(R.id.btn_change)
    public void changeMode(){
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
            webView.evaluateJavascript("document.body.style.backgroundColor=\"black\";document.body.style.color=\"white\";", null);
        } else {
            webView.loadUrl("javascript:document.body.style.backgroundColor=\"#black\";document.body.style.color=\"white\";");
        }
    }