Kotlin WebView 加载进度条:显示与隐藏
要在Kotlin中加载WebView时显示进度条,然后在加载完成后隐藏进度条,可以按照以下步骤进行操作:\n\n1. 在布局文件中添加ProgressBar组件作为进度条。例如,在activity_main.xml文件中添加以下代码:\n\nxml\n<ProgressBar\n android:id="@+id/progressBar"\n android:layout_width="wrap_content"\n android:layout_height="wrap_content"\n android:layout_centerInParent="true"\n android:visibility="gone" />\n\n\n2. 在Activity的代码中,找到WebView并设置WebChromeClient来处理进度相关的事件。例如,在MainActivity.kt文件中添加以下代码:\n\nkotlin\nimport android.os.Bundle\nimport android.webkit.WebChromeClient\nimport android.webkit.WebView\nimport android.webkit.WebViewClient\nimport androidx.appcompat.app.AppCompatActivity\nimport kotlinx.android.synthetic.main.activity_main.*\n\nclass MainActivity : AppCompatActivity() {\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.activity_main)\n\n // 找到WebView\n val webView: WebView = findViewById(R.id.webView)\n // 设置WebViewClient来处理页面加载事件\n webView.webViewClient = WebViewClient()\n\n // 设置WebChromeClient来处理进度相关的事件\n webView.webChromeClient = object : WebChromeClient() {\n override fun onProgressChanged(view: WebView?, newProgress: Int) {\n super.onProgressChanged(view, newProgress)\n // 根据加载进度更新进度条\n if (newProgress < 100) {\n progressBar.visibility = View.VISIBLE\n progressBar.progress = newProgress\n } else {\n progressBar.visibility = View.GONE\n }\n }\n }\n\n // 加载网页\n webView.loadUrl("https://www.example.com")\n }\n}\n\n\n这样,当WebView加载网页时,进度条会显示加载进度。当加载完成后,进度条会消失。
原文地址: https://www.cveoy.top/t/topic/p4BR 著作权归作者所有。请勿转载和采集!