दिलचस्प पोस्ट
Scanf के नुकसान रीसेट फ़ोल्डर में ड्रायबल फ़ोल्डर्स? क्या sizeof (enum) == आकार (int), हमेशा? आंतरिक FXML नियंत्रण के नियंत्रक 2 के लिए FXML नियंत्रक 1 में बनाए गए ऑब्जेक्ट को कैसे पास करें I क्या लोगों को सी / सी ++ में बना हुआ अनुचित मान्यताओं का प्रदर्शन करने के लिए एक शैक्षिक उपकरण का क्या है? मैं कैसे डॉम को तैयार कर सकता हूं और jQuery के बिना वर्ग जोड़ सकता हूं? ऐप छोड़ने के बिना Google + iPhone API साइन इन करें और साझा करें विजुअल स्टूडियो 2012 __सीप्लसप्लस और सी ++ 11 जावास्क्रिप्ट ऑब्जेक्ट कुंजी सूची प्राप्त करना 22.0.4 से एंड्रॉइड एसडीके टूल अपडेट करें 22.0.4 (नवीनतम संस्करण) आईई 7 जेड-इंडेक्स लेयरिंग मुद्दे परिवर्तन तत्व ऑर्डर सेट करें? क्या <STYLE> को एक HTML दस्तावेज़ के <HEAD> में होना चाहिए? गैर स्थैतिक सदस्य आरंभकर्ताओं के साथ कक्षाओं के लिए सी + + 11 समग्र प्रारंभ CSS3 संक्रमण घटनाएं

Android WebView प्रगति बार

मैंने इस पर एक प्रश्न यहां देखा है लेकिन जैसा कि मैं एक नौसिखिया हूँ, कोई यह बता सकता है कि यह कैसे एक वेबविवे में काम करने के लिए या कम से कम 10 सेकंड के समय की देरी को कैसे सेट करें ताकि लोगों को पता चल जाए कि यह लोड हो रहा है?

वेब के समाधान से एकत्रित समाधान "Android WebView प्रगति बार"

क्षैतिज प्रगति पट्टी के लिए, आपको पहले अपनी प्रगति पट्टी को परिभाषित करने और इसे अपनी XML फ़ाइल से लिंक करने की आवश्यकता है, onCreate :

 final TextView txtview = (TextView)findViewById(R.id.tV1); final ProgressBar pbar = (ProgressBar) findViewById(R.id.pB1); 

उसके बाद, आप अपने WebChromeClient में प्रगति परिवर्तन विधि पर उपयोग कर सकते हैं:

 MyView.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); } } }); 

उसके बाद, आपके लेआउट में आपके पास ऐसा कुछ है

 <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> 

इस तरह मैंने अपने ऐप में यह किया है

मैंने अभी यहां यह कैसे करना है इसका एक बहुत अच्छा उदाहरण पाया है: http://developer.android.com/reference/android/webkit/WebView.html । आपको बस से प्रगति को बदलने की आवश्यकता है:

 activity.setProgress(progress * 1000); 

सेवा मेरे

 activity.setProgress(progress * 100); 

यहां एंड्रॉइड वेब व्यू में प्रगति बार जोड़ने का सबसे आसान तरीका है।

अपनी गतिविधि / टुकड़ा में एक बूलियन फ़ील्ड जोड़ें

 private boolean isRedirected; 

यह बूलियन वेब पेजों के पुनर्निर्देशन को मृत लिंक के कारणों को रोकेगा। अब आप केवल इस विधि में अपना वेबविय ऑब्जेक्ट और वेब यूआरएल पास कर सकते हैं।

 private void startWebView(WebView webView,String url) { webView.setWebViewClient(new WebViewClient() { ProgressDialog progressDialog; public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); isRedirected = true; return false; } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); isRedirected = false; } public void onLoadResource (WebView view, String url) { if (!isRedirected) { if (progressDialog == null) { progressDialog = new ProgressDialog(SponceredDetailsActivity.this); progressDialog.setMessage("Loading..."); progressDialog.show(); } } } public void onPageFinished(WebView view, String url) { try{ isRedirected=true; if (progressDialog.isShowing()) { progressDialog.dismiss(); progressDialog = null; } }catch(Exception exception){ exception.printStackTrace(); } } }); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl(url); } 

यहां लोड होने पर, यह फोन पर कॉल onPageStarted । यहां मैं बूलियन फील्ड सेट कर रहा हूं I लेकिन जब पेज लोड खत्म होता है तो यह पेज पर onPageFinished विधि पर आ जाएगा और यहां बूलियन फील्ड सही पर सेट है। कभी-कभी यूआरएल मर जाने पर इसे पुनर्निर्देशित किया जाएगा और यह onPageFinished विधि से पहले onPageFinished आ जाएगा। इस कारण से यह प्रगति बार छिपा नहीं करेगा इसे रोकने के लिए मैं जाँच कर रहा हूँ if (!isRedirected) onLoadResource()

प्रगति संवाद को खारिज करने से पहले onPageFinished() विधि में आप अपना 10 सेकंड समय देरी कोड लिख सकते हैं

बस। हैप्पी कोडिंग 🙂

यह सच है, वहाँ भी अधिक विकल्प हैं, जैसे आप चाहते हैं कि एक वाक्य के लिए ऐप के नाम को बदलना। इस ट्यूटोरियल की जांच कर सकते हैं यह मदद कर सकता है:

http://www.firstdroid.com/2010/08/04/adding-progress-bar-on-webview-android-tutorials/

उस ट्यूटोरियल में आपके पास एक पूर्ण उदाहरण है कि वेबव्यू ऐप में प्रगति पट्टी कैसे उपयोग करें।

एड्रियन।

श्रीमान साजिद करीम के अनुसार मैंने एक समान लिखा था।

 webView = (WebView) view.findViewById(R.id.web); progressBar = (ProgressBar) view.findViewById(R.id.progress); webView.setWebChromeClient(new WebChromeClient()); webView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); progressBar.setVisibility(View.VISIBLE); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); progressBar.setVisibility(View.GONE); } @Override public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { super.onReceivedError(view, request, error); Toast.makeText(getActivity(), "Cannot load page", Toast.LENGTH_SHORT).show(); progressBar.setVisibility(View.GONE); } }); webView.loadUrl(url); 

प्रक्रिया समाप्त होने तक प्रतीक्षा करें …

 while(webview.getProgress()< 100){} progressBar.setVisibility(View.GONE); 
  webview= (WebView) findViewById(R.id.web); webview.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { WebActivity .setTitle("Loading..."); WebActivity .setProgress(progress * 100); if(progress == 100) WebActivity .setTitle(R.string.app_name); } }); webview.setWebViewClient(new WebViewClient()); webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl("http://google.com"); 

अधिक संदर्भ के लिए यहां क्लिक करें http://androiddhina.blogspot.in/2015/05/android-load-webview-with-progressbar.html