這次再提一個透明背景的小問題
在舊版(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); }
以上
沒有留言:
張貼留言