滚动时奇怪的webview黑色闪烁

时间:2013-06-26 09:04:31

标签: android android-webview

我正在从字符串加载数据,并且在我向下滚动webview时第一次闪烁几次。

这是我加载数据的代码:

webview.loadDataWithBaseURL(null, message.getmContent(), "text/html", "UTF-8", null);

和xml:

    <WebView
        android:id="@+id/web_content"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/footer"
        android:layout_below="@id/message_title"
        android:layout_margin="4dp"
         />

5 个答案:

答案 0 :(得分:32)

解决方案是添加:

webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webview.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);

答案 1 :(得分:4)

也可以在xml文件中设置software图层类型,它对我来说很好。

android:layerType="software"

答案 2 :(得分:1)

解决上述解决方案后,我的WebView自动聚焦向下滚动。 我解决了闪烁并自动滚动:

webView.setFocusable(false);
webView.setFocusableInTouchMode(false);

答案 3 :(得分:0)

从缓存加载数据

webview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
webview.loadUrl(Your URL To Load);

答案 4 :(得分:0)

还可以在xml文件中设置android:minHeight,对我来说效果很好。

<WebView
   android:id="@+id/webView"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:minHeight="200dp"/>