webview的loadUrl()和loadData()之间的不同行为

时间:2012-12-07 14:58:42

标签: android android-webview

webview.loadUrl("http://example.com/image.gif");

加载动画gif

webview.loadData("<img src='http://example.com/image.gif'/>","text/html", "UTF-8");

加载静态图片

webview.loadUrl("http://example.com/gif.html");

加载一个页面,其中每个gif都没有动画。

我在模拟器和运行4.0.4的galaxy选项卡10.1上测试了这个。我已经看到一些应用程序加载带有页面的webview,他们有GIF动画,所以我必须遗漏一些东西。

webview.getSettings().setJavaScriptEnabled(true);

没有改变任何东西,我试过http://code.google.com/p/slidetypekeyboard/source/browse/trunk/assets/index.html,但它不会为gif制作动画

我在问:如何使用.loadData()启用gif动画?要扩展,我想要

webview.loadData("<center><img src='http://example.com/image.gif'/><center>","text/html", "UTF-8");

显示动画gif。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。 This回答对我有帮助。它有不同的主题,但主要的诀窍是

“由于某种原因,loadDataWithBaseURL和loadData函数的实现完全不同。”

试试这个:

webview.loadDataWithBaseURL(null, "<center><img src='http://example.com/image.gif'/><center>", "text/html", "utf-8", null);