2011-10-24 35 views
5

Tôi muốn hiển thị tệp html của một cuốn sách epub trong chế độ xem web bằng cách sử dụng ViewPager. Các tập tin văn bản chỉ hiển thị chính xác nhưng các trang có hình ảnh không hiển thị chính xác (hình ảnh không hiển thị). Hình ảnh sẽ chỉ xuất hiện sau khi nhấp vào nút thu phóng. Sau đó khi tôi nhấn nút thu nhỏ, hình ảnh sẽ biến mất. Tôi đã thử tải một tệp xml (test.xml) chứa một hình ảnh. Lúc đầu, nó không tải hình ảnh. Nhưng sau khi tôi đổi thành chân dung và quay trở lại scape đất, nó cho thấy hình ảnh.Android ViewPager có WebView không hiển thị hình ảnh được nhúng với kiểu

Nó hoạt động tốt khi tôi thử cùng một tệp trong một WebView với ViewPager ngoài.

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> 

Khi tôi loại bỏ các tài sản syle(), nó làm việc tốt. Đây có phải là vấn đề với ViewPager không?

Bất kỳ ai có thể giúp tôi giải quyết vấn đề này không?

Trả lời

0

Tôi không biết nguyên nhân gây ra sự cố và bạn nên tìm cách tránh điều này. Tuy nhiên, như một giải pháp tạm thời, bạn có thể thử thêm một WebViewClient vào WebView của bạn, mà lắng nghe cho onPageFinished -> và sau đó tải lại trang một lần. Một cái gì đó như (KHÔNG ĐƯỢC KIỂM TRA):

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!! 
    } 
}); 
Các vấn đề liên quan