最近的项目中一直关于webView设置背景色问题在研究,最终找到了解决的方法。
基于我项目的需求,从服务端传过来的是带有标签的文本,如果使用textView会让整个布局显得很乱,里面的<img />的加载也会是个麻烦,但是基于webView背景色的设置就是研究的一个方向了!
使用android 中WebView的同事们都会发现一个问题,在使用webView控件时会发现其背景色是系统固定好的,如果不是用特殊方法更改其背景色会和自己整体的布局及色彩搭配
很不适应!
下面就来介绍在不同android系统更改webView的背景色!
1.在2.X的平台下,一般设置webview背景为透明的方法如下:
wvContent.setBackgroundColor(0);
这个相信大家测试后都是没有问题的!
2.但当程序在4.0上使用时,发现居然这种设置方法无法,即使通过上面设置背景为0,照样显示出原来默认的白色背景(在我自己的话huawei U9500)中测试是部分会显示白色,有些界面的渲染还是成功的。这中现象是android4.0后,系统内部的加速器做了改变
详细内容参考http://blog.chenming.info/blog/2012/09/18/android-hardware-accel/ 一篇很好的文章,我也是在这里找到问题解决的方法!
其实我按照方法,在WebView控件中是硬件加速器失效即 android:layerType="software",即使这样,我自己的机器测试还是出现部分WebView是白色背景!
最后我在该Activity中注册了 android:hardwareAccelerated="false" 就可以了!
相信和我遇到相似问题的同学们,不妨尝试下!
从最近大量的资料来看,webView是一个很好的控件,以后会继续使用!期待它更好的改进!