Ну, мне удалось это сделать.Для тех, кто хочет сделать что-то подобное, вот код, который я обновил:
@Override
protected void setViews() {
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setDatabaseEnabled(true);
webView.getSettings().setMinimumFontSize(1);
webView.getSettings().setMinimumLogicalFontSize(1);
webView.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView view, String url){
injectCSS();
super.onPageFinished(view, url);
}
});
}
@Override
protected void setViewContents() {
webView.loadUrl(url);
}
private void injectCSS() {
try {
InputStream inputStream = getContext().getAssets().open("styles.css");
byte[] buffer = new byte[inputStream.available()];
inputStream.read(buffer);
inputStream.close();
String encoded = Base64.encodeToString(buffer, Base64.NO_WRAP);
webView.loadUrl("javascript:(function() {" +
"var parent = document.getElementsByTagName('head').item(0);" +
"var style = document.createElement('style');" +
"style.type = 'text/css';" +
"style.innerHTML = window.atob('" + encoded + "');" +
"parent.appendChild(style)" +
"})()");
} catch (Exception e) {
e.printStackTrace();
}
}
И я создал styles.css в папке Assets.