【问题标题】:Strange flickering with WebView after setting android:hardwareAccelerated="true"设置 android:hardwareAccelerated="true" 后 WebView 出现奇怪的闪烁
【发布时间】:2013-07-09 07:18:03
【问题描述】:

设置android:hardwareAccelerated="true"mWebView.setBackgroundColor(Color.TRANSPARENT)后WebView奇怪的闪烁

没有人,没有闪烁。

【问题讨论】:

    标签: android webview flicker


    【解决方案1】:

    我已为应用程序启用硬件加速并为活动禁用它。另外,如上所述,我将背景设置为“null”。它现在对我有用。另一种方法(未测试):将图层类型设置为软件渲染并将背景设置为 Color.TRANSPARENT(或“0”):webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

    【讨论】:

    • 谢谢,可以解决闪烁问题,但是会导致滚动卡顿,有没有其他办法?
    【解决方案2】:

    不要在代码中对标志进行硬编码,这不是最佳做法! 您可以分四个级别启用该功能。

    窗位:

    getWindow().setFlags(
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
    

    查看级别:

    myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    

    活动级别:

    <application android:hardwareAccelerated="true">
        <activity ... />
        <activity android:hardwareAccelerated="false" />
    </application>
    

    Applecation 级别:

    <application android:hardwareAccelerated="true" ...>
    

    参考http://developer.android.com/guide/topics/graphics/hardware-accel.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-26
      • 2012-04-25
      • 2014-09-07
      • 2019-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      相关资源
      最近更新 更多