預設 WebView 使用水平進度條。若想改為旋轉進度圈,需啟用 Window.FEATURE_PROGRESS 並設定可見度。
getWindow().requestFeature(Window.FEATURE_PROGRESS);
getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
WebView webView = findViewById(R.id.webview);
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
setProgress(newProgress * 100); // 更新進度圈
if (newProgress == 100) {
setTitle("完成");
} else {
setTitle("載入中...");
}
}
});
webView.loadUrl("https://example.com");
requestFeature 必須在 setContentView 之前呼叫。setFeatureInt 將進度功能設為可見,系統會在標題列顯示旋轉進度圈。WebChromeClient.onProgressChanged 回傳 0~100 進度值。若使用 Toolbar 或 ActionBar,進度圈可能不顯示,需改用自訂 ProgressBar 置於佈局中。