当前位置:  开发笔记 > 前端 > 正文

加载数据时WebView重绘问题

如何解决《加载数据时WebView重绘问题》经验,为你挑选了1个好方法。

我在我的一个应用程序中遇到了使用webview显示的问题.

当我调用loadData时,webview首先显示文本,然后加载页面的图像(标准行为).

有时,如果这些图像修改了文本位置,则不会清除旧文本位置,并且会显示旧文本和新文本+图像

这里是问题发生时的截图:

webview重绘问题

这就像webview没有正确地重绘它的内容.当然一个简单的invalidate()不起作用......

它不会经常发生,但可以说超过20次.

用于显示数据的代码(称为外部Activity生命周期方法):

// Include the html headers to the content received from WS
String webtext = String.format(ConfigApp.HTML_BODY, wsdata.getText());
mWebView.setWebChromeClient(...);
mWebView.setWebViewClient(...);
mWebView.setBackgroundColor(0);
mWebView.loadDataWithBaseURL(null, webtext, "text/html", "UTF-8", null);

知道如何解决这个问题吗?



1> ol_v_er..:

我终于找到了解决问题的方法.

删除WebView透明背景:

String webtext = String.format(ConfigApp.HTML_BODY, wsdata.getText());
mWebView.setWebChromeClient(...);
mWebView.setWebViewClient(...);
// mWebView.setBackgroundColor(0);
mWebView.loadDataWithBaseURL(null, webtext, "text/html", "UTF-8", null);

因为我的WebView有一个空白背景,所以对我来说没问题.也许这对其他人来说可能很烦人.

肯定这是一个WebView错误.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有