2011-03-10 15 views
19

मैं डेटा लोड करते समय अपने ऐप में प्रगति सर्किल दिखाना चाहता हूं। मेरे पास एक गतिविधि है और एक गतिविधि से दूसरी गतिविधि में जा रहा है, मैं कुछ एक्सएमएल डेटा पार्स कर रहा हूं ताकि जब तक पार्सिंग पूरा न हो जाए, मैं एक परिपत्र लोडिंग प्रभाव दिखाना चाहता हूं।मुझे प्रगति संवाद के बजाय प्रगति सर्कल चाहिए

+2

इस तरह मैंने किया http://stackoverflow.com/questions/19655715/progress-dialog-is-closed-when-touch-on-screen/ 22 9 3 9 10 9 # 22 9 3 9 10 9 – Ali

उत्तर

3

प्रगतिबार यूआई

myProgressDialog = ProgressDialog.show(ListingPage.this,"Please Wait", "Loading Date", true); 

दान

+0

मैं इस प्रगति का उपयोग कर सकता हूं डायलॉग कारण मेरा क्लाइंट यह नहीं चाहता कि वह परिपत्र लोडिंग प्रभाव चाहता है। – ta54

+0

*** प्रोग्रेसडिअलॉग अब बहिष्कृत है। – Digitalsa1nt

17

आप रेस/anim फ़ोल्डर में एनीमेशन xml फ़ाइल बनाते हैं और अपने imageView में startAnimation कॉल करने की आवश्यकता क्यों उपयोग नहीं जब आप डेटा और stopAnimation लोड कर रहे हैं जब आप डेटा लोड करना बंद कर देते हैं। और लोड हो रहा है imageView करने के लिए छवि निर्धारित करते हैं, उदाहरण के लिए:

loading http://bigod26.com/pics/loading.png

चक्र एनीमेशन xml फ़ाइल के लिए इस आईडी कोड

<?xml version="1.0" encoding="UTF-8"?> 
<rotate 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromDegrees="0" 
    android:toDegrees="360" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:repeatCount="infinite" 
    android:duration="1200" 
    android:interpolator="@android:anim/linear_interpolator" /> 
+0

मैं कस्टम एडाप्टर के साथ एक सूची दृश्य का उपयोग कर रहा हूँ। और मैं उस सूची दृश्य में लोडिंग प्रभाव दिखाना चाहता हूं। मैं यह पार्सिंग कैसे प्राप्त कर सकता हूं और हम इस एनीमेशन को रोक सकते हैं – ta54

+0

मैं सूची दृश्य का भी उपयोग कर रहा हूं। और जब एक और धागा xml पार्सिंग करता है, तो मैं खो गया दृश्य विशेष लोडिंग एडाप्टर सेट करता हूं जो केवल एक दृश्य देता है। यह दृश्य छवि है जो सभी माता-पिता और फिट छवि को केंद्र में भरें। थ्रेड स्टॉप पार्स को पार्स करते समय मैं अपने अन्य कस्टम एडाप्टर को देखने के लिए सेट करता हूं जो यूआई तत्व प्रदान करता है। – RomaTTi

+0

क्या आप मुझे इसका उदाहरण दे सकते हैं। धन्यवाद! –

1

बस आप प्रगति संवाद, बजाय async कार्य और साथ एक एनीमेशन का प्रयोग करेंगे के रूप में बस इसे prexecution पर दिखाई दें और इसे पोस्ट पर फिर से छुपाएं।

2
लदान और पार्स के लिए उपयोग AsyncTask

:

/** 
    * Background task that fetched the content from server and parses the content. 
    */ 
    private class BackgroundLoadingTask extends AsyncTask<InputStream, Void, Boolean> { 

    @Override 
    protected void onPreExecute() { 
     // show the progress bar 
     Activity.this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 
     Activity.this.requestWindowFeature(Window.PROGRESS_VISIBILITY_ON); 
    } 

    @Override 
    protected Boolean doInBackground(InputStream... params) { 

     // try to load XML from HTTP server and parse 

     return true; 
    } 


    @Override 
    protected void onPostExecute(Boolean parsingError) { 
     // hide the progress bar 
     Activity.this.requestWindowFeature(Window.PROGRESS_VISIBILITY_OFF); 


    } 
    } 
+1

सावधान रहें कि यदि आप पूर्ण स्क्रीन पर गए हैं या शीर्षक पट्टी छुपाए हैं तो उन सभी सुविधाओं का काम नहीं होगा। – trgraglia

+0

'android.util.AndroidRuntimeException: requestFeature() को सामग्री जोड़ने से पहले कॉल किया जाना चाहिए – dentex

28

आप परिपत्र लोड हो रहा है प्रभाव के लिए एक अनिश्चित ProgressBar उपयोग कर सकते हैं। यहां बताया गया है कि आप इसे XML में कैसे करते हैं:

<ProgressBar android:indeterminate="true" 
      android:layout_width="50dp" android:layout_height="50dp" 
      android:id="@+id/marker_progress" style="?android:attr/progressBarStyle" 
      android:layout_gravity="center_vertical|center_horizontal"/> 

आप अपनी इच्छित ऊंचाई और चौड़ाई को बदल सकते हैं। जब आप लोडिंग कर लेते हैं, तो आप इसे देखने के लिए दृश्यता बदल सकते हैं। INVISIBLE या View.GONE

1

trgraglia के उत्तर पर थोड़ा विस्तार करने के लिए, आप एक अनिश्चित (व्यवहार: चक्र) प्रगति पट्टी बना सकते हैं और दृश्यता को झूठी सेट कर सकते हैं। AsyncTask preExecute() के दौरान, इसे दृश्यमान बनाएं, और AsyncTask onPostExecute() पर, इसे वापस अदृश्य में बदलें (बशर्ते आप एक ही गतिविधि या w/e मामले पर रह रहे हों)। यह एक एनीमेशन बनाने की आवश्यकता को समाप्त करता है।

4

सम्मिलित इस beetween दो देखें टैग

<ProgressBar android:id="@+id/loading_spinner" 
     style="?android:progressBarStyleLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" /> 
संबंधित मुद्दे