webView只提供了一个监听加载完毕的方法,但是没有提供监听显示完毕的方法。所以经过各种大师的帮忙,发现可以这样做来监听显示完毕,其中用到了回调函数。
1.重写webview,并且添加回调函数。setDf();
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.webkit.WebView;
public class MyWebView extends WebView{
interface DisplayFinish{
void After();
}
DisplayFinish df;
public void setDf(DisplayFinish df) {
this.df = df;
}
public MyWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyWebView(Context context) {
super(context);
}
//onDraw表示显示完毕
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
df.After();
}
}
2.调用方法:
MyWebView.setDf(new DisplayFinish() {
@Override
public void After() {
// regular()里面存放所有要在webview显示之后显示的内容
regular();
}
});