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(); } });