2013-12-21 52 views
0

我希望我的申请会更顺利,我读hardware_acceleraton可能是一个解决方案。背景不见了

所以我打开hardware_acceleraton = true和我的背景图片刚刚出现,只出现黑色背景。

我需要做另外一件事或者这里有什么问题吗?

+1

真实的设备或者是这在模拟器中? –

+0

真实设备Galaxy nexus – pmb

+0

查看文档。看来你有第二段提到的问题:http://developer.android.com/guide/topics/graphics/hardware-accel.html –

回答

1

当您启用硬件加速功能时,android使用图形类的“硬件加速”实现,如CanvasPaint。每个图形类都有两个实现。一个在内部使用Skia库(硬件加速禁用时使用的库)和另一个使用OpenGL的库。一些硬件加速实现的方法仍然没有正确实施。例如,在Pain上使用模糊或浮雕过滤器不起作用。硬件加速是安全的,只能使用Android库中的视图,如ListViewImageView。您的问题可能是在自定义视图上启用硬件加速的结果。

+0

这里没有任何解决方案?我正在使用它自定义视图。当背景设置为颜色时可以正常工作,但是当图像不好时 – pmb

+0

如果启用硬件加速是必不可少的,则可以在自定义视图的onDraw()方法中绘制图像,而不是将其设置为背景可绘制。 – GareginSargsyan

-1

也许设置webView.setBackgroundColor(0) or webView.setBackgroundColor(Color.argb(1, 0, 0, 0)); 可以帮助一个小技巧,但不是最好的解决方案,我觉得这个工作API小于11为高,我认为它webview.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);

为例:

WebView webView = new WebView(this); 
webView.setBackgroundColor(0); 
setContentView(webView);