Tri*_*Bui 42 android webview hardware-acceleration android-3.0-honeycomb android-4.0-ice-cream-sandwich
我有一个WebView(Android 3.0+)的问题,WebView在显示我的黑色背景("闪烁")之前总是显示白色背景.这是我简单的测试代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webView = new WebView(this);
webView.setBackgroundColor(Color.BLACK);
setContentView(webView);
loadWebView(webView);
webView.loadDataWithBaseURL("localhost://", "<html><head>" +
"<style>body {background-color: #000}img{max-width:100%}</style></head>" +
"<body>" +
"<img src=\"http://developer.android.com/images/practices/actionbar-phone-splitaction.png\" />" +
"</body></html>",
"text/html", "UTF-8", null);
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多解决方案来摆脱这个问题,但并不幸运.
PS:如果关闭硬件加速,则不会出现此问题.有人有同样的问题并解决了吗?
谢谢.
Pau*_*sma 45
我发现这里首先提到的最有效的解决方法是在布局膨胀后设置透明背景颜色:
webView.setBackgroundColor(Color.argb(1, 0, 0, 0));
Run Code Online (Sandbox Code Playgroud)
是的,这是一个完全黑客攻击,但它是我发现在没有禁用硬件加速的情况下工作良好的唯一解决方案.
请注意,这并不会通过设置在XML后台工作.
这已在Jellybean中得到解决,尽管一些用户报告在KitKat中看到了这一点.检查您是否未禁用硬件加速,如果问题确实消失,您可能希望将该代码包装在条件语句中以仅定位旧设备:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
webView.setBackgroundColor(Color.argb(1, 0, 0, 0));
}
Run Code Online (Sandbox Code Playgroud)
use*_*688 12
我已为应用程序启用了硬件加速,并为活动禁用了它.另外,我将背景设置为null,如上所述.它现在对我有用.
另一种方法(未经测试):将图层类型设置为软件渲染并将背景设置为Color.TRANSPARENT(或0):webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
格雷茨托斯滕
在Android 4.4.4上有这个问题,这里没有其他解决方案有效.onPageFinished()无论如何我都在乱搞,所以不妨试试一下应该防弹的东西:
我把它放在onCreateView()托管WebView的片段中:
webView = (WebView) v.findViewById(R.id.webView);
webView.setVisibility(View.INVISIBLE);
webView.setBackgroundColor(Color.argb(1, 0, 0, 0));
webView.setWebViewClient( new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
view.setVisibility(View.VISIBLE);
super.onPageFinished(view, url);
}
});
Run Code Online (Sandbox Code Playgroud)
这个想法只是隐藏WebView,直到第一页加载完毕.然而,在我添加Paul Lammertsma提供的解决方案之前,它仍然给了我一小段白色,webView.setBackgroundColor(Color.argb(1, 0, 0, 0));
| 归档时间: |
|
| 查看次数: |
24431 次 |
| 最近记录: |