我在我的活动中使用webview。页面是从android_asset加载的:
webView.loadUrl("file:///android_asset/htm/main.htm");
我有onPageFinished处理程序,一旦页面加载就显示视图:
public void onPageFinished(WebView view, String url) {
view.setVisibility(View.VISIBLE);
问题是当应用程序启动时我可以看到白色矩形而不是html内容。在一瞬间,它更新到真正的HTML内容。 当页面呈现给webview时,我如何捕获事件?还是有另一个解决这个问题的方法吗?
答案 0 :(得分:1)
我遇到了同样的问题,但后来我用onProgressChanged()函数来避免这个空白屏幕。你可以在onPageStart()函数中启动一个进度对话框,然后从onProgressChanged()你可以知道你的页面显示的具体百分比,你可以让你的进度对话框消失。
你可以试试这个:
public void onProgressChanged(WebView view, int newProgress) {
Log.e("onProgressChanged", " Value is: " + newProgress);
if (newProgress >= 90) {
if (dialog != null) {
dialog.dismiss();
}
}
super.onProgressChanged(view, newProgress);
}
90是我的情况下当页面出现在屏幕上时的值,您可以使用介于1-100之间的值。