为简单起见,假设我有 1 个活动,其中包含一些 textView、progressSpinner 和 webView。
webView 可见性设置为“消失”,所有其他设置为可见。当页面完成加载并且我要删除的 2 个 div 被隐藏时,我想隐藏所有可见项目并显示完全加载的 webView。
但是,当我运行它时,我看到了所有可见的项目,并且 webView 此时没有显示(这很好)。几秒钟后,可见的项目消失了,出现了一个空白的 webView(不应该发生),然后页面加载,然后 2 个 div 被隐藏。
我想对用户隐藏它,如何将其设置为仅在页面完全加载完成并且隐藏 2 个 div 后才显示 webView?
public void onPageFinished(WebView view, String url) {
webview.loadUrl("javascript:$('#MainMenu').hide()");
webview.loadUrl("javascript:$('#EmployeeDashboard').hide()");
android.os.SystemClock.sleep(2500); // My attempt to allow the divs to be hidden before it's displayed to the user
findViewById(R.id.progressSpinner).setVisibility(View.GONE);
findViewById(R.id.imageView1).setVisibility(View.GONE);
findViewById(R.id.textView1).setVisibility(View.GONE);
findViewById(R.id.textView2).setVisibility(View.GONE);
findViewById(R.id.tvLoading).setVisibility(View.GONE);
findViewById(R.id.webview).setVisibility(View.VISIBLE);
}
在xml中我有:
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:visibility="gone" />