我正在尝试为我的应用创建一个夜间模式,该模式在按钮点击时触发,这是一个来自Android的视图。点击我希望webview通过CSS使用自定义样式更改它的背景颜色和字体颜色,但我不知道如何做到这一点。我知道如何创建一个Javascript,但我不知道如何在我的应用程序上实现它,因为我需要的是后台更改而不重新加载页面。我试着阅读一些似乎与我的问题类似的问题,但没有一个问题真正吸引到我身上,而且我的理解并不是那么详细。
此外,我的数据是事先使用
创建的content.loadDataWithBaseURL(null, MY_HTML_CODE, "text/html", "utf-8", null);
所以我可以注入一些脚本以防万一。
我不确定如何将这个answer与其他问题联系起来,或者让我更加困惑。
希望有人可以提供帮助。
答案 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\";");
}
}