动态改变webview大小时,webview闪烁的解决办法


WebView.setLayoutParams(new LinearLayout.LayoutParams(100 0, 1));

动态改变webview大小时,webview会闪烁,据说是android 3.0+硬件加速导致的问题,通过如下方式可解决:

WebView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);



http://stackoverflow.com/questions/12806094/android-webview-flicker-bug-while-animating-view-on-device

Generally speaking, it seems the problem has to do with a bug when using WebViews with hardware acceleration enabled on 3.0+ devices. I also tried using the sliding menu library with a WebView but experienced the same flicker problem. After looking around I found a workaround here:

WebView “flashing” with white background if hardware acceleration is enabled (Android 3.0+)

The workaround uses the following code to set the layer type of the WebView to software rendering:

webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

This code solved the flicker for me with the drawback of lower performance.


你可能感兴趣的:(android)