下列代碼在模擬器上面試的時候是好的,可以在真機上跑的時候就不是了,得到的是一個白色的背景。
WebView webview; webview=(WebView)findViewById(R.id.webview); webview.setBackgroundColor(0x00000000); //透明背景
其實在2.X的平台下,此設置webview背景為透明的方法還是有效的。
但當程序在4.0上使用時,即使通過上面設置背景為0,照樣顯示出原來默認的白色背景。通過網上查找,發現原來是由於硬件加速導致的,此時就想到了使用代碼關閉當前webview的硬件加速,方法如下:
wvContent.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
這時發現又有新問題,如果要通過該代碼進行設置,SDK最低版本也要11(android 3.0)無法正常編譯。其實我們可以直接在XML布局文件中對WebView進行取消硬件加速。
android:layerType="software"