FrameLayout 底層放 ImageView(啟動圖/Logo),上層放 WebView。
WebView webView = findViewById(R.id.webview);
ImageView loadingImg = findViewById(R.id.loading_img);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
loadingImg.setVisibility(View.GONE); // 加載完成隱藏
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
loadingImg.setVisibility(View.GONE); // 出錯也隱藏,避免永久遮蓋
// 可選:顯示錯誤頁
}
});
// 可選:預先檢查網絡
if (!isNetworkConnected()) {
loadingImg.setVisibility(View.GONE);
showOfflineTip();
}
webView.loadUrl("https://example.com");
使用 WebChromeClient.onProgressChanged 更新頂部 ProgressBar,體驗更佳。