2012-12-12 17 views
5

मैं एक एनीमेशन बनाने की कोशिश कर रहा हूं जो स्क्रीन की केंद्र में इसकी वर्तमान स्थिति से स्लाइड करेगा और फिर फ्लिप करेगा। मेरे पास प्रत्येक चलती घटक ठीक से काम कर रही है लेकिन एक बार जब मैं उन्हें स्टार्टऑफसेट के साथ सेट में डाल देता हूं, तब तक एनीमेशन तब तक शुरू नहीं होता जब तक ऑफ़सेट समाप्त नहीं होता है और यह सभी एनिमेशन एक बार में करता है। इस पर कोई मदद बहुत सराहना की है।एंड्रॉइड - एनीमेशन शुरू ऑफसेट ठीक से काम नहीं कर रहा है

slide_down.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 
    <!-- Slide down --> 
    <translate 
     android:fromYDelta="0%" 
     android:toYDelta="100%" 
     android:duration="1000"/> 

    <!-- Set alpha to fully opaque --> 
    <alpha 
     android:fromAlpha="0.8" 
     android:toAlpha="1.0" 
     android:duration="1000" /> 

    <!-- Flip image once it's in the center --> 
    <!-- ***** HERE IS THE only offset I set ****** --> 
    <scale 
     android:fromXScale="0.0" 
     android:toXScale="1.0" 
     android:pivotX="50%" 
     android:fromYScale="1.0" 
     android:toYScale="1.0" 
     android:startOffset="1000" 
     android:duration="200" /> 
</set> 

बुला कोड

Animation anim = AnimationUtils.loadAnimation(getActivity(), slideDirection); 
     anim.setAnimationListener(new AnimationListener() { 
      public void onAnimationStart(Animation animation) {    
      } 

      public void onAnimationRepeat(Animation animation) {     
      } 

      public void onAnimationEnd(Animation animation) { 
       mCallBack.categorySelected(view.getId()); 
      } 
     }); 

     view.clearAnimation(); 
     view.startAnimation(anim); 

धन्यवाद, Dman

उत्तर

2

एनीमेशन ऑफसेट हमेशा एनीमेशन की शुरुआत से गणना। यदि आप अपने एनिमेशन को एक-एक करके खेलना चाहते हैं, तो आपको ऑफसेट की गणना करनी होगी।

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 
    <!-- Slide down --> 
    <translate 
     android:fromYDelta="0%" 
     android:toYDelta="100%" 
     android:duration="1000"/> 

    <!-- Set alpha to fully opaque --> 
    <alpha 
     android:fromAlpha="0.8" 
     android:toAlpha="1.0" 
     android:startOffset="1000" 
     android:duration="1000" /> 

    <!-- Flip image once it's in the center --> 
    <!-- ***** HERE IS THE only offset I set ****** --> 
    <scale 
     android:fromXScale="0.0" 
     android:toXScale="1.0" 
     android:pivotX="50%" 
     android:fromYScale="1.0" 
     android:toYScale="1.0" 
     android:startOffset="2000" 
     android:duration="200" /> 
</set> 
+0

प्रतिक्रिया के लिए धन्यवाद -

निम्नलिखित 1 सेकंड के लिए अनुवाद कर खेलेंगे, तो किसी अन्य के लिए अल्फा दूसरा 200 मि.से के लिए पैमाने का स्थान है। जो भी मैं खोज रहा हूं वह है कि एक ही समय में अनुवाद और अल्फा प्रदर्शन किया जाए, फ्लिप एनीमेशन शुरू हो जाने के साथ ही छवि केंद्र में चली जाती है और पूरी तरह से अपारदर्शी है – DMCApps

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