परिचय
यह उदाहरण दर्शाता है कि एंड्रॉइड में WebView में URL लोड करते समय प्रोग्रेस बार कैसे प्रदर्शित किया जाए। यह उपयोगकर्ता अनुभव को बेहतर बनाता है क्योंकि उपयोगकर्ता को पता चलता है कि पेज लोड हो रहा है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें और आवश्यक विवरण भरें।
चरण 2: लेआउट फ़ाइल में कोड जोड़ें
res/layout/activity_main.xml में ProgressBar और WebView जोड़ें:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="2dp"
tools:context=".MainActivity">
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerInParent="true"
android:max="100"
android:progress="0" />
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/progressBar"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp" />
</RelativeLayout>
चरण 3: MainActivity.kt में कोड जोड़ें
import android.os.Bundle
import android.view.View
import android.webkit.WebView
import android.webkit.WebViewClient
import android.widget.ProgressBar
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
private lateinit var webView: WebView
private lateinit var progressBar: ProgressBar
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
webView = findViewById(R.id.webView)
progressBar = findViewById(R.id.progressBar)
webView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
view.loadUrl(url)
return false
}
override fun onPageFinished(view: WebView, url: String) {
super.onPageFinished(view, url)
progressBar.visibility = View.GONE
}
}
webView.loadUrl("https://www.amazon.com")
}
}
चरण 4: AndroidManifest.xml में इंटरनेट अनुमति जोड़ें
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.q11">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
ऐप चलाएं
डिवाइस कनेक्ट करें, Run आइकन पर क्लिक करें और देखें कि WebView लोड होने तक प्रोग्रेस बार दिखाता है।