تبلیغات

گرفتن درصد لود یا میزان Progress در WebView اندروید

گرفتن درصد لود یا میزان Progress در WebView اندروید

گرفتن درصد لود یا میزان Progress در WebView اندروید

نمایش میزان لود شدن صفحه در WebView اندروید، کار چندان پیچیده‌ای نیست و به راحتی توسط WebViewClient قابل انجام است؛ به سادگی می‌توانیم درصد لود صفحه را گرفته و آن را به هر شکلی که می‌خواهیم به کاربر نمایش دهیم.

نحوه انجام کار

از متد setWebChromeClient برای پیاده سازی WebViewClient استفاده می‌کنیم.

myWebView.setWebChromeClient(new WebChromeClient() {

            public void onProgressChanged(WebView view, int progress) {
               
            }

        });

همانطور که می‌بینید، متد onProgressChanged کلاس WebViewClient را Override کرده‌ایم.

  • پارامتر view: همان WebView خودمان می‌باشد.
  • پارامتر progress: میزان لود شدن برحسب درصد می‌باشد.

مثال

کد جاوای ما شامل موارد زیر می‌شود

final TextView txtview = (TextView)findViewById(R.id.tV1);
final ProgressBar pbar = (ProgressBar) findViewById(R.id.pB1);
myWebView.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress) {
               if(progress < 100 && pbar.getVisibility() == ProgressBar.GONE){
                   pbar.setVisibility(ProgressBar.VISIBLE);
                   txtview.setVisibility(View.VISIBLE);
               }

               pbar.setProgress(progress);
               if(progress == 100) {
                   pbar.setVisibility(ProgressBar.GONE);
                   txtview.setVisibility(View.GONE);
               }
            }
        });

کد Layout ما شامل موارد زیر می‌شود

<TextView android:text="Loading, . . ." 
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:id="@+id/tV1" android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:textColor="#000000"></TextView>

<ProgressBar android:id="@+id/pB1"
    style="?android:attr/progressBarStyleHorizontal" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:layout_centerVertical="true"
    android:padding="2dip">
</ProgressBar

 

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

یه کلاسِ تعریف نشده ... فقط برای ارتباط کاری تلگرام پیام بدید ...

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه

توضیحات پیشنهادی نظرات اشتراک