You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中WebView进度条实现代码的解析与说明

Android WebView 进度条实现代码解析

实现代码

progressBar = (ProgressBar)findViewById(R.id.prg);
webview.setWebViewClient(new WebViewClient(){
        @Override public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
            progressBar.setVisibility(View.VISIBLE);
            setTitle("Loading...");
        }
        @Override public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            progressBar.setVisibility(View.GONE);
            setTitle(view.getTitle());
        }
});

代码逐行解析

  • 获取进度条实例:progressBar = (ProgressBar)findViewById(R.id.prg);
    通过findViewById获取布局文件中ID为prg的ProgressBar控件实例,用于后续控制进度条的显示与隐藏状态。

  • 绑定自定义WebViewClient:webview.setWebViewClient(new WebViewClient(){...})
    为WebView设置自定义的WebViewClient,通过重写其页面加载生命周期方法,实现进度条与页面加载状态的联动。

  • 页面加载启动时的逻辑(onPageStarted)
    重写onPageStarted方法,在页面开始加载时执行:

    • 调用progressBar.setVisibility(View.VISIBLE)显示进度条,给用户明确的加载状态提示;
    • 调用setTitle("Loading...")将Activity标题设置为“Loading...”,强化加载中的状态反馈;
      必须调用super.onPageStarted(view, url, favicon),确保父类的默认加载逻辑正常执行。
  • 页面加载完成后的逻辑(onPageFinished)
    重写onPageFinished方法,在页面加载完成时执行:

    • 调用progressBar.setVisibility(View.GONE)隐藏进度条,告知用户加载已完成;
    • 调用setTitle(view.getTitle())将Activity标题替换为当前网页的实际标题,还原页面原本的信息展示;
      同样需要调用super.onPageFinished(view, url),保证父类的收尾逻辑正常运行。

内容的提问来源于stack exchange,提问作者Md Jobayer Mahmud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:40:38