2010-10-12 18 views
25

मेरे पास एक छवि दृश्य है जिस पर मैंने एक घुमावदार एनीमेशन लागू किया है। जब से मैं रोटेशन लगातार पर जाना चाहते हैं, मैं अपने rotate.xml में अनंत के रूप में repeatCount दिया:एंड्रॉइड: मैं एक छवि दृश्य पर लागू एक अनंत एनीमेशन कैसे रोक सकता हूं?

android:repeatCount="infinite" 

onCreate में(), मैं एनीमेशन लोड और इसे शुरू।

Animation myAnim = AnimationUtils.loadAnimation(this, R.anim.rotate); 
objectImg.startAnimation(myAnim); 

जब कोई बटन दबाया जाता है, तो रोटेशन बंद होना चाहिए। इसलिए मेरे ऑनक्लिक() में, मैंने clearAnimation() कहा।

objectImg.startAnimation(myAnim); 

मेरा सरल सवाल यह है कि एनीमेशन को रोकना सही काम है या नहीं। मुझे लगता है कि एनीमेशन() लोडएनीमेशन() से मेल खाता है, लेकिन कोई रोक नहीं है एनीमेशन() जो प्रारंभएनीकरण() से मेल खाता है।

उत्तर

26

आप anim.cancel(); पर भी कॉल कर सकते हैं लेकिन आपको तुरंत इसके बाद anim.reset(); पर कॉल करना चाहिए। फिर जब आप इसे फिर से शुरू करना चाहते हैं, तो दृश्य पर startAnimation पर कॉल करें।

+0

ठीक है, मैं इसे भी देख लूंगा। – kiki

+2

एनीमेशन.cancel(); एपीआई स्तर 8 की आवश्यकता है, एपीआई 7 में एनीमेशन को रोकने के लिए और केवल एक ही विकल्प के ऊपर देखें .cleAnimation(); –

+0

'रद्द करें()' पूरी एनीमेशन को प्रारंभिक स्थिति में रीसेट कर देगा। लेकिन आखिरी बंद राज्य कैसे बनाए रखें? –

52

एनीमेशन को रोकने के लिए clearAnimation() का उपयोग करें। View पर कोई loadAnimation() नहीं है।

+0

ठीक है, धन्यवाद। तो केवल शुरुआतएनीमेशन() और clearAnimation() दृश्यों के लिए उपयुक्त हैं। – kiki

+0

clearAnimation() ने मेरे लिए काम नहीं किया है, सेटएनीमेशन (शून्य) – Leon

+0

हाय @ कॉमन्सवेयर क्या आप मुझे बता सकते हैं कि एनीमेशन को कैसे रोकें, दृश्य को क्लिक करें जो एनिमेटिंग है लेकिन एक अलग बटन के रूप में नहीं? – Raghavendra

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