具有WebView的Android ViewPager没有显示带样式的嵌入图像

时间:2011-10-24 12:35:46

标签: android android-webview android-viewpager

我想使用ViewPager在webview中显示epub书的html文件。仅文本文件显示正确但具有图像的页面显示不正确(图像未显示)。只有在单击zoomin按钮后才会出现图像。之后,当我按下缩小按钮时,图像将消失。我试图加载包含图像的xml文件(test.xml)。第一次没有加载图像。但在我改为肖像并回到土地景观后,它展示了图像。

当我在没有ViewPager的WebView中尝试相同的文件时,它工作正常。

的test.xml

?xml version='1.0' encoding='utf-8'?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>Cover</title>
        <style type="text/css" title="override_css">
            @page {padding: 0pt; margin:0pt}
            body { text-align: center; padding:0pt; margin: 0pt; }
            div { margin: 0pt; padding: 0pt; }
        </style>
    </head>
    <body>
        <div>
            <img src="cover1.jpg" alt="cover" style="height: 100%"/>
        </div>
    </body>
</html>

当我删除了syle属性()时,它工作正常。这是ViewPager的问题吗?

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我不知道是什么导致了这个问题,你应该试着弄清楚如何避免这个问题。但是,作为临时解决方法,您可以尝试将WebViewClient添加到WebView中,该WebViewClient将侦听onPageFinished - &gt;然后重新加载页面一次。像(未经测试)的东西:

webview.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished (WebView view, String url){
        // Called when the page is finished loading
        if(firstTime)
            webview.loadUrl(url); // ONLY call this the first time!!
    }
});