2010-05-19 16 views

उत्तर

2
एपीआई से

:

एनिमेशन एक विराम के विधि नहीं है।

http://www.androidjavadoc.com/1.0_r1/android/view/animation/package-summary.html

+0

उत्तर के लिए धन्यवाद। हां मुझे पता है कि कोई विराम विधि नहीं है, इसके बजाय मैंने एक कस्टम क्लास लागू किया है जो रननेबल लागू करता है और पोस्ट किया गया है, कार्य को पूरा करने के लिए हटाए गए कॉलबैक विधियों को हटा दें। मुझे यकीन नहीं है कि यह करने का यह एक उचित तरीका है या नहीं। – akc

24

मुझे पता है इस सूत्र काफी पुराना है, लेकिन जब से यह गूगल पर पहले उत्तर जब मैं एक तरह से एक एनीमेशन थामने के लिए खोज रहा था, मैं सिर्फ यहाँ समाधान किसी के लिए पोस्ट करेंगे और देखने के लिए। आपको जो करना है वह एनीमेशन प्रकार उप-वर्ग है जिसे आप उपयोग करना चाहते हैं और फिर एनीमेशन को रोकने और फिर से शुरू करने के तरीकों को जोड़ें। यहाँ AlphaAnimation के लिए एक उदाहरण है:

public class PausableAlphaAnimation extends AlphaAnimation { 

    private long mElapsedAtPause=0; 
    private boolean mPaused=false; 

    public PausableAlphaAnimation(float fromAlpha, float toAlpha) { 
     super(fromAlpha, toAlpha); 
    } 

    @Override 
    public boolean getTransformation(long currentTime, Transformation outTransformation) { 
     if(mPaused && mElapsedAtPause==0) { 
      mElapsedAtPause=currentTime-getStartTime(); 
     } 
     if(mPaused) 
      setStartTime(currentTime-mElapsedAtPause); 
     return super.getTransformation(currentTime, outTransformation); 
    } 

    public void pause() { 
     mElapsedAtPause=0; 
     mPaused=true; 
    } 

    public void resume() { 
     mPaused=false; 
    } 
} 

यह आपके StartTime वृद्धि के साथ-एनीमेशन रोक दिया गया है यह राज्य है जहां यह था कि जब आप को रोक दिया है रखना होगा, प्रभावी ढंग से खत्म करने और रखने से यह ध्यान में रखते हुए।

उम्मीद है कि यह किसी की मदद करेगा।

+0

यह पूरी तरह से काम किया। धन्यवाद। – Weston

+0

हमारे साथ साझा करने के लिए धन्यवाद यह मेरी तरफ से बहुत उपयोगी +1 है! – Deepak

+0

@ दीपक यह फ्रेम एनीमेशन के लिए काम कर सकता है – Ashishsingh

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