3 回答
TA贡献1890条经验 获得超9个赞
几年来,我成功地将Richard的答案与PictureListener结合使用,但是我不再建议将其作为最佳解决方案。
这有两个原因:
webView.setPictureListener和PictureListener都弃用。
使用此侦听器将导致WebView经常分配新图片。这种分配非常昂贵,并且可能会对性能产生重大影响,甚至导致JellyBean MR1发生本机崩溃。
相反,我建议创建WebView的子类并覆盖invalidate(),如下所示:
@Override
public void invalidate() {
super.invalidate();
if (getContentHeight() > 0) {
// WebView has displayed some content and is scrollable.
}
}
如果仍要使用PictureListener方法,则在将其设置为null之后将其设置为null将获得更好的性能。
TA贡献1846条经验 获得超7个赞
自从我第一次发布此内容以来,Android API 12中已不推荐使用此方法。感谢Google!我会保留原始答案:
是的-有一个侦听器,用于了解内容何时完成加载。我必须在我的项目上创建一个,这样我才能做一个初始屏幕,直到Webview加载页面为止。
它称为.setPictureListener。
例如:
mWebView.setPictureListener(new MyPictureListener());
//... and then later on....
class MyPictureListener implements PictureListener {
@Override
public void onNewPicture(WebView view, Picture arg1) {
// put code here that needs to run when the page has finished loading and
// a new "picture" is on the webview.
}
}
- 3 回答
- 0 关注
- 520 浏览
添加回答
举报