代码改变世界

设置android webview的背景颜色时没有效果

2013-05-09 14:00  张智清  阅读(8495)  评论(0编辑  收藏  举报
下列代码在模拟器上面试的时候是好的,可以在真机上跑的时候就不是了,得到的是一个白色的背景。
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"