Tôi có một lớp WebView mở rộng tùy chỉnh hiển thị nội dung HTML. Khi người dùng nhấp vào một liên kết trong tài liệu HTML, tôi tính toán một giá trị X để di chuyển đến, và sau đó sử dụng scrollTo (x, y) để hiển thị vị trí đó qua một Runnable (xem dưới đây)Android WebView không thể hoàn toàn hiển thị nội dung cho đến khi tương tác của người dùng
post(new Runnable() {
@Override
public void run() {
scrollTo(x, 0);
MyWebView.this.invalidate();
MyWebView.this.buildDrawingCache();
MyWebView.this.refreshDrawableState();
MyWebView.this.postInvalidate();
}
});
Sau khi di chuyển, có khả năng là webview sẽ không hiển thị toàn bộ tài liệu. Các khối hình chữ nhật của không gian màu trắng được hiển thị ở vị trí văn bản, với vị trí dường như ngẫu nhiên mỗi lần. Đây là ảnh chụp màn hình: http://i.imgur.com/g192Y.jpg
Khi tôi chạm vào chế độ xem web để cuộn, nó sẽ ngay lập tức hiển thị các phần còn thiếu.
Cho đến nay hành vi này bị hạn chế với Samsung Galaxy 10.1" máy tính bảng.
Có ai biết một workaround/làm thế nào để buộc webkit phải render lại trang?
Có may mắn ở đây không? Có một vấn đề tương tự. Điều này làm việc tốt trong Jelly Bean, nhưng là một vấn đề liên tục trong ICS. –
Tôi có vấn đề chính xác này ngay cả trên Jelly bean. Nó làm việc tốt trên Kitkat. –