2014-06-07 9 views
6

मुझे एहसास है कि ऑब्जेक्टिनेटर ऑब्जेक्ट्स पर रोकें और फिर से शुरू करें विधियां केवल एपीआई के लिए उपलब्ध हैं: 1 9। हालांकि, चूंकि न तो मैं और न ही एंड्रॉइड उपयोगकर्ताओं में से आधे में इस एपीआई है, क्या आपके एनीमेशन को रोकने के लिए एक विकल्प है और फिर शुरुआत से वापस शुरू करने के बजाय उसी स्थिति से फिर से शुरू करें? किसी भी तरह की सहायता का स्वागत किया जाएगा।1 9 से कम (एपीआई) से कम एपीआई में एनीमेशन रोकें/फिर से शुरू करें?

+0

संभव डुप्लिकेट [? फिर से शुरू और 19 नीचे API स्तरों के लिए एंड्रॉयड में ObjectAnimator को थामने के लिए] (http://stackoverflow.com/questions/25231707/how- टू-रेज़्यूम-एंड-पॉज़-ऑब्जेक्टिनेटर-इन-एंड्रॉइड-फॉर-एपीआई-लेवल-अंडर -19) –

+0

असल में यह प्रश्न इस का एक डुप्लिकेट है .. लिंक के लिए धन्यवाद – Bazinga

+0

हालांकि चिह्नित करने में कोई नकारात्मक अर्थ नहीं है प्रश्न "डुप्लिकेट", कम से कम जहां तक ​​मैं समझता हूं। दूसरी तरफ, एसओ हमें * उत्तर * द्वारा डुप्लिकेट चुनने के लिए प्रोत्साहित करता है, इसलिए मेरी पसंद मार्कर को उस उत्तर के लिए रखना था जिसे पहले उत्तर दिया गया था। –

उत्तर

12

मेरी प्रोजेक्ट में मुझे घूर्णन एनीमेशन बनाना था (जो रोक दिया जाएगा और उसी/अंत स्थिति से फिर से शुरू होगा), और मैंने एनिमेटर के वर्तमान समय को प्राप्त करके हल किया (जब एनीमेशन समाप्त होता है/जब मैं रोकता हूं) और एनिमेटर शुरू करने के बाद, मैं "setCurrentPlayTime (समाप्ति समय के साथ)" सेट कर रहा हूं। वर्तमान समय प्राप्त करने के लिए मैं getCurrentPlayTime() का उपयोग कर रहा हूं; और समय निर्धारित करने के लिए मैं ऑब्जेक्टएनिमीटर वर्ग के setCurrentPlayTime() का उपयोग कर रहा हूं।

संदर्भ: http://developer.android.com/reference/android/animation/ValueAnimator.html#setCurrentPlayTime(long) http://developer.android.com/reference/android/animation/ValueAnimator.html#getCurrentPlayTime()

private ObjectAnimator mObjectAnimator; 
private long mAnimationTime; 

private void stopAnimation() { 
    if(mObjectAnimator != null) { 
     mAnimationTime = mObjectAnimator.getCurrentPlayTime(); 
     mObjectAnimator.cancel(); 
    } 
} 

private void playAnimation() { 
    if (mObjectAnimator != null) { 
     mObjectAnimator.start(); 
     mObjectAnimator.setCurrentPlayTime(mAnimationTime); 
    } 
} 
की
+0

ऑब्जेक्टएनिमीटर के साथ इसका काम करता है लेकिन हम ऑब्जेक्टएनिमीटर सेट को कैसे रोक/फिर से शुरू कर सकते हैं? – Deven

+0

हैलो निकोलाडेव, मैंने एनीमेशन विराम को रद्द करने के लिए आपके द्वारा प्रदान किए गए समाधान को लागू करने का प्रयास किया, लेकिन जब मैं शुरू करता हूं और फिर वर्तमान प्लेटाइम सेट करता हूं तो एनीमेशन पुनरारंभ होता है क्या आपको पता है कि इसका कारण क्या हो सकता है? –

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