Android WebView 加载网页添加进度条

本文介绍了一种在WebView中加载网页时显示进度条的方法。通过重写shouldOverrideUrlLoading方法控制网页在WebView中打开,并利用onPageStarted和onPageFinished回调分别显示和隐藏进度条。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做项目用到了webView来加载网页,但是奇葩的是,webView在加载网页的时候没有进度条,不知道是自己没有找到还是压根webView就没有,如果有还请留言告诉我,不胜感激。好了废话不多说,直接贴代码。

    /**
     *  设置webView参数,访问网页
     * @param wapUrl  要访问的手机端url地址
     */
    public void showWeb(String wapUrl){
        //WebView加载web资源
        itemWebView.loadUrl(wapUrl);
        //启用支持javascript
        WebSettings settings = itemWebView.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
        //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开
        itemWebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
                view.loadUrl(url);
                return true;
            }

//这里在webView刚开始加载页面的时候调用进度条
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);
                loadingDialog.show("加载中...");
            }

//在页面加载完成后关闭掉进度条
            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                mainHandler.sendEmptyMessage(LoadingDialog.MSG_CLOSE);
            }
        });
    }

需要说明的是进度条控件是我们事先已经定义好的,拿来直接用就可以了。其实就这么简单,之前还真天真的把进度条开始和结束的代码放到了showWeb()这个函数的前后。看来有时间真应该好好研究下源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值