kotlin加载webview时显示进度条加载好后进度条消失
要在Kotlin中加载WebView时显示进度条,然后在加载完成后隐藏进度条,可以按照以下步骤进行操作:
- 在布局文件中添加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" />
- 在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加载网页时,进度条会显示加载进度。当加载完成后,进度条会消失
原文地址: https://www.cveoy.top/t/topic/imBB 著作权归作者所有。请勿转载和采集!