標籤雲

搜尋此網誌

2012/11/16

WebView 的透明背景

上次有提到 WebView 的亂碼問題
這次再提一個透明背景的小問題

在舊版(3.x 以下)的 WebView 要設定透明背景
只要將 webView.setBackgroundColor 設為透明(0x00000000)就可以了
但是 3.x 以上
這方法失效了

解法來了
其實就再多一行
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
就可以了
這個方法需要傳入兩個參數
一是 LAYER_TYPE 常數,二是Paint 物件
範例如下:
webView = (WebView)findViewById(R.id.webView);
webView.loadDataWithBaseURL(null, aData.getMedicineDetail(), "text/html", "utf-8", null);
webView.setBackgroundColor(0x00000000);
if(Build.VERSION.SDK_INT >= 11){
 webViewBgTransFix(webView);
}

設定如果 SDK_INT 是大於 11 的話才能用這個方法

@TargetApi(11)
private void webViewBgTransFix(WebView webView) {
 webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}

以上

沒有留言: