Loading Title Pada Aplikasi WebView Android

Daftar Isi

Sobat, saat kita mengembangkan aplikasi Android yang memanfaatkan WebView (komponen internal untuk menampilkan halaman web di dalam aplikasi), kenyamanan pengguna atau User Experience / UX (tingkat kepuasan pengguna saat menggunakan aplikasi) adalah hal yang sangat penting. Pernah nggak nemuin aplikasi yang waktu membuka halaman web berasa seperti macet atau freeze? Padahal, aplikasi tersebut cuma sedang memproses data di latar belakang, tapi karena nggak ada indikator status apa pun, pengguna jadi bingung dan mengira websitenya *error*.

Untuk mengatasi kendala tampilan seperti ini, trik sederhana namun efektif yang biasa saya terapkan adalah memanfaatkan WebChromeClient (komponen pendukung untuk mengontrol elemen antarmuka dan indikator proses pada WebView). Melalui fungsi onProgressChanged (metode otomatis untuk memantau persentase pemuatan halaman), kita bisa mengubah judul aplikasi secara dinamis—menampilkan teks “Loading…” selama halaman diproses, lalu mengembalikannya ke nama aplikasi saat pemuatan data sudah genap 100%.

Nah, berikut adalah potongan kode Java praktis yang biasa saya sematkan di dalam projek aplikasi Android agar alur pemuatan halaman terasa lebih hidup, responsif, dan memberikan kepastian kepada pengguna:

myWebView.setWebChromeClient(new WebChromeClient() {
    public void onProgressChanged(WebView view, int progress)
    {
        // Menampilkan title "Loading..." sebelum webview load 100% halaman web
        setTitle("Loading...");
        setProgress(progress * 100); 

        // Menampilkan title utama setelah loading web selesai
        if(progress == 100)
            setTitle(R.string.rahmatriyanto);
    }
});

Update 20 Juli, 2026: Pendekatan Modern dengan Kotlin & ProgressBar

Sobat, untuk membawa potongan kode Java klasik di atas ke standar pengembangan Android modern saat ini, kita bisa beralih menggunakan bahasa Kotlin (bahasa pemrograman utama resmi untuk Android) serta mengombinasikannya dengan komponen ProgressBar (garis visual penanda status pemuatan) secara horizontal di bagian atas layar.

Pendekatan modern yang paling nyaman bagi pengguna adalah menampilkan garis indikator bergerak saat halaman sedang memproses data, lalu menyembunyikannya secara otomatis begitu pemuatan genap 100%. Tampilan aplikasi pun jadi terasa jauh lebih bersih, responsif, dan elegan.

Kode Kotlin Modern: WebView dengan ProgressBar

Berikut adalah penulisan kode modern menggunakan Kotlin yang jauh lebih ringkas, aman dari kebocoran memori, dan sesuai dengan standar Android SDK saat ini:

// Inisialisasi komponen WebView dan ProgressBar
val webView: WebView = findViewById(R.id.webView)
val progressBar: ProgressBar = findViewById(R.id.progressBar)

// Mengaktifkan JavaScript jika diperlukan oleh website
webView.settings.javaScriptEnabled = true

// Menyetel WebChromeClient untuk memantau proses muat halaman
webView.webChromeClient = object : WebChromeClient() {
    override fun onProgressChanged(view: WebView?, newProgress: Int) {
        if (newProgress == 100) {
            // Sembunyikan ProgressBar saat pemuatan selesai 100%
            progressBar.visibility = View.GONE
        } else {
            // Tampilkan ProgressBar dan perbarui nilainya secara dinamis
            progressBar.visibility = View.VISIBLE
            progressBar.progress = newProgress
        }
    }
}

// Memuat alamat website tujuan
webView.loadUrl("https://rahmatriyanto.com")

Peningkatan Utama pada Versi Modern

Penerapan standar baru ini memberikan beberapa pembaruan signifikan dibanding cara lama:

  • Sintaksis Kotlin yang Ringkas: Menggunakan object expression (cara penulisan objek langsung di Kotlin) yang meminimalisir baris kode dan mencegah potensi kendala null pointer (error akibat variabel kosong).
  • Menggunakan Indikator Visual Riil: Memanfaatkan properti View.GONE dan View.VISIBLE (status sembunyi/tampil elemen antarmuka) pada ProgressBar, bukan lagi mengubah judul aplikasi secara kaku.
  • Bebas dari Fungsi Usang (Deprecated): Tidak lagi memanggil metode setProgress() lama dari Activity yang sudah dihentikan dukungannya oleh Google sejak era Android Lollipop.

Dengan menerapkan standar penulisan modern ini, aplikasi Android yang Sobat bangun bakal terasa jauh lebih responsif dan profesional, memberikan kepastian kepada pengguna tanpa perlu membuat struktur kodingan jadi rumit.

Tinggalkan Balasan

Informasi kontak Anda tidak akan dipublikasikan. Kolom yang wajib diisi ditandai *. Notifikasi akan dikirim ke telegram untuk mempercepat tanggapan komentar