【问题标题】:background is gone when背景消失时
【发布时间】:2013-12-21 18:07:00
【问题描述】:

我希望我的申请会更顺利,我读到hardware_acceleraton 可能是一个解决方案。

所以我打开hardware_acceleraton = true,我的背景图像就消失了,只出现黑色背景。

我必须做另一件事还是这里出了什么问题?

【问题讨论】:

标签: android performance smooth-scrolling


【解决方案1】:

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

【讨论】:

  • 这里没有解决办法吗?我正在使用它自定义视图。当背景设置为颜色时它工作正常,但当它是图像时不正常
  • 如果必须启用硬件加速,您可以在自定义视图的 onDraw() 方法中绘制图像,而不是将其设置为背景可绘制对象。
【解决方案2】:

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

示例:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 2017-07-01
    相关资源
    最近更新 更多