2012-04-20 18 views
7

मैं एंड्रॉइड में लोडिंग एनीमेशन कैसे बनाएं, इस बारे में कुछ जानकारी खोज रहा हूं। क्या यह एनीमेशन बनाना संभव है कि मैं इस एनीमेशन को एक थ्रेड में कॉल कर सकता हूं और दूसरे में अंत कर सकता हूं? दिखाने के लिएएंड्रॉइड लोडिंग एनीमेशन

कोड

ProgressDialog नीचे

enter image description here

उत्तर

18

प्रयास करें:

मैं इस के लिए मांग

ProgressDialog mDialog = new ProgressDialog(getApplicationContext()); 
       mDialog.setMessage("Loading..."); 
       mDialog.setCancelable(false); 
       mDialog.show(); 

के बाद नीचे दिए गए कोड ProgressDialog रद्द:

mdialog.dismiss(); 
+0

async कार्य मैं इस फोन और में मिलती है: java.lang.RuntimeException: धागा कि Looper.prepare (आह्वान नहीं किया) – Streetboy

+1

अंदर हैंडलर आप शुरू होने से पहले धागा ProgreeDialog शुरू करनी चाहिए बना सकते हैं और खारिज नहीं किया जा सकता प्रगति संवाद अंत धागे से ..! – Dinesh

+0

अगर मैं AsyncTask का उपयोग कर रहा हूं तो मुझे किस विधि में एटार और प्रोग्रेसडिअलॉग समाप्त करना चाहिए? – Streetboy

2

यह मूल रूप से AsyncTask और ProgressDialog (स्पिनर शैली का उपयोग करके) के साथ किया जाता है जिसे AsyncTask द्वारा प्रारंभ और खारिज कर दिया जाता है।

2

आप UI थ्रेड के किसी अन्य थ्रेड से प्रोग्रेसडिअलॉग को प्रारंभ/समाप्त नहीं कर सकते हैं। इसके लिए सबसे आसान है आप PynExecute onPostExecute पर AsyncTask विधियों का उपयोग करना चाहते हैं। लेकिन मैं इसके साथ सावधान रहूंगा।

  1. आप एसिंक कार्य से संवाद का संदर्भ खोना नहीं चाहते हैं (उपयोगकर्ता अभिविन्यास बदलता है या स्क्रीन को घुमाता है)। तो आप WeakReference को संवाद
  2. पर रखना चाहते हैं यदि आप गंभीर लोडिंग worj कर रहे हैं, तो मैं इसके लिए सेवा का उपयोग करके पुन: टिप्पणी करूँगा और संवाद को नियंत्रित करने के लिए सेवा कॉलबैक (जैसे प्रसारण) सुन रहा हूं। यह आपको पृष्ठभूमि कार्य से अलग गतिविधि जीवन चक्र की अनुमति भी देगा।
+0

आप कमजोर संदर्भ का उपयोग कैसे करते हैं? जब मैं अपने Async कार्य में प्रोग्रेसडिअलॉग का उपयोग करता हूं तो मुझे एक अपवाद (IllegalArgumentException) मिलता है। –

संबंधित मुद्दे