【Android】WebView設定背景色
阿新 • • 發佈:2019-01-10
試遍了網上關於WebView設定背景色的各個方法,都沒有下面這個靠譜。描述下我遇到的問題,WebView載入顯示一段Html程式碼,但是UI設計的主介面是有一個淺灰色背景,而WebView預設的背景色白色死活去不掉,最終找到了下面的這篇文章。正解:
Android WebView 設定背景色為透明色 在網上找了 好多的方法都試過了 都不行 1.直接設定成background 為透明色 或者透明圖片 (無效) android:background="@android :color/transparent" 2.設定載入的html為透明背景圖片(無效) String mobileDetails = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><title>vvv</title></head>" + "<div style='background-image: url(file:///android_asset/z_bg_transparent.png);'>" + mGetDetail.data.get("description") + "</div></html>"; 3.網上所謂的(無效) android:layerType="software" 或者 android:hardwareAccelerated="false" 4. 直接程式碼中設定 mWebView.setBackgroundColor(0); (無效) 5.最後抓著頭皮我在 mWebView.setBackgroundColor(0); 基礎上設定了他的透明度為 2 結果ok了(有效) 程式碼如下: mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setDefaultTextEncodingName("utf-8") ; mWebView.setBackgroundColor(0); // 設定背景色 mWebView.getBackground().setAlpha(0); // 設定填充透明度 範圍:0-255 mWebView.loadDataWithBaseURL(null, "載入中。。", "text/html", "utf-8",null); mWebView.loadDataWithBaseURL(mGetDetail.data.get("hostsUrl"), mGetDetail.data.get("description"), "text/html", "utf-8",null); mWebView.setVisibility(View.VISIBLE); // 載入完之後進行設定顯示,以免載入時初始化效果不好看
最後設定背景色哪行程式碼設定上就OK了
親測可行,大家可以驗證下哈