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
相关产品推荐
相关产品推荐

