Android ProgessBar while loading WebView

后端 未结 12 2559
闹比i
闹比i 2020-12-08 01:52

In my application, I have a WebView which loads any URL from the internet. Now, sometimes due to slow networks the page takes a long time to load and the user s

12条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-08 02:43

    This simple solution worked for me in KOTLIN:

    private fun setupWebView() {
    
        val webViewClient: WebViewClient = object: WebViewClient() {
    
            override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
                view?.loadUrl(request?.url.toString())
                return super.shouldOverrideUrlLoading(view, request)
            }
    
            override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
                showProgressDialog()
                super.onPageStarted(view, url, favicon)
            }
    
            override fun onPageFinished(view: WebView?, url: String?) {
                hideProgressDialog()
                super.onPageFinished(view, url)
            }
        }
        webView.webViewClient = webViewClient
    
        webView.settings.javaScriptEnabled = true
        webView.settings.defaultTextEncodingName = "utf-8"
    }
    

提交回复
热议问题