WebView加載CSS樣式

當加載一個網(wǎng)頁后,想對其進行樣式的修改,可以使用WebView.loadUrl加載CSS樣式文件。

  • 在Raw目錄下創(chuàng)建一個xxx.css文件,并在次文件中填寫css樣式
body {
    width: 98% !important;
}
  • 在java文件中,代碼如下;java中用Base64進行加密,js中使用window.atob進行解密。
private void loadCss() {
        InputStream is = getResources().openRawResource(R.raw.news);
        try {
            byte[] buffer = new byte[is.available()];
            is.read(buffer);
            is.close();
            String cssCode = Base64.encodeToString(buffer, Base64.NO_WRAP);
            String jsCode = "javascript:(function() {" +
                    "var parent = document.getElementsByTagName('head').item(0);" +
                    "var style = document.createElement('style');" +
                    "style.type = 'text/css';" +
                    "style.innerHTML = window.atob('" + cssCode + "');" +
                    "parent.appendChild(style);" +
                    "})();";
            mWebView.loadUrl(jsCode);
        } catch (IOException e) {
            Log.d(HtmlFragment.class.getSimpleName(), e.getMessage());
        }
    }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,229評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,659評論 19 139
  • 今天周六,雙休,早上七點多就醒了,而且也沒有一點睡意,真是狗血,平時上班的時候困得要死,周末就睡不著! 十一點多的...
    冬天只愛早晨閱讀 405評論 0 1
  • 莫名的又發(fā)了一次火,氣的是自己,好像劃不來,所以克制克制再克制,為了自己!
    我的恬淡時光閱讀 81評論 0 0
  • 過完年學(xué)校通知返校,于是有些無奈的來到學(xué)校,教室還算干凈,讓幾個女生清理了教室,男生到操場打掃衛(wèi)生區(qū)。 老遠門口站...
    掌心落雪閱讀 372評論 0 0

友情鏈接更多精彩內(nèi)容