要在Kotlin中加载WebView时显示进度条,然后在加载完成后隐藏进度条,可以按照以下步骤进行操作:

  1. 在布局文件中添加ProgressBar组件作为进度条。例如,在activity_main.xml文件中添加以下代码:
<ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:visibility="gone" />
  1. 在Activity的代码中,找到WebView并设置WebChromeClient来处理进度相关的事件。例如,在MainActivity.kt文件中添加以下代码:
import android.os.Bundle
import android.webkit.WebChromeClient
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 找到WebView
        val webView: WebView = findViewById(R.id.webView)
        // 设置WebViewClient来处理页面加载事件
        webView.webViewClient = WebViewClient()

        // 设置WebChromeClient来处理进度相关的事件
        webView.webChromeClient = object : WebChromeClient() {
            override fun onProgressChanged(view: WebView?, newProgress: Int) {
                super.onProgressChanged(view, newProgress)
                // 根据加载进度更新进度条
                if (newProgress < 100) {
                    progressBar.visibility = View.VISIBLE
                    progressBar.progress = newProgress
                } else {
                    progressBar.visibility = View.GONE
                }
            }
        }

        // 加载网页
        webView.loadUrl("https://www.example.com")
    }
}

这样,当WebView加载网页时,进度条会显示加载进度。当加载完成后,进度条会消失

kotlin加载webview时显示进度条加载好后进度条消失

原文地址: https://www.cveoy.top/t/topic/imBB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录