2011-09-18 13 views
5

. TranslateAnimation tamamlandığında finiş konumunu korumak istiyorum, böylece setFillAfter true olarak ayarlandı.Android Frame Animasyon TranslateAnimation içine kullanırken durur ben bir görünüm arkasında ve ekrana gelen hareket ediyorum Çerçeve animasyonlarla görüntüyü canlandırdı</p> <p>Tümüne

Sorunum, TranslateAnimation tamamlandığında Frame Animation'ın durdurulmasıdır. Çerçeve Animasyonunu nasıl yeniden başlatabilir veya devam ettirebilirim?

<?xml version="1.0" encoding="utf-8"?> 
    <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    id="selected" android:oneshot="false"> 
     <item android:drawable="@drawable/a" android:duration="200" /> 
     <item android:drawable="@drawable/b" android:duration="200" /> 
     <item android:drawable="@drawable/c" android:duration="200" /> 
    </animation-list> 

    loadingView = (RelativeLayout) findViewById(R.id.loadingBar); 
    loadingView.setVisibility(View.VISIBLE); 
    loadingImage = (ImageView) loadingView.findViewById(R.id.loading); 
    loadingImage.setBackgroundResource(R.drawable.loading); 
    animateImages = (AnimationDrawable) loadingImage.getBackground(); 

    translateAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, 
               Animation.RELATIVE_TO_SELF,0.0f, Animation.RELATIVE_TO_SELF, -1.0f); 
    translateAnimation.setInterpolator(new AccelerateInterpolator()); 
    translateAnimation.setDuration(2000); 
    translateAnimation.setFillEnabled(true); 
    translateAnimation.setFillAfter(true);  

    translateAnimation.setAnimationListener(new AnimationListener() 
    { 
     @Override 
     public void onAnimationStart(Animation animation) 
     { 
      // TODO Auto-generated method stub 
        animateImages.start();        
     } 

     @Override 
     public void onAnimationEnd(Animation arg0) 
     { 

     } 

     @Override 
     public void onAnimationRepeat(Animation animation) 
     { 
      // TODO Auto-generated method stub 

     } 
    }); 

    loadingView.startAnimation(translateAnimation); 
+0

Çerçeve animasyonunuzu xml olarak gösterebilir misiniz? –

+0

Soruyu çerçeve animasyonu xml ile güncelledi. – Koppo

+0

Ekrana dokunduğumda fark ettiğim tek şey, ekrana dokunduğum sürece animasyonun başladığını görüyorum. Elimi kaldırdığımda durur. – Koppo

cevap

0

Aynı sorunu yaşadım ve kesin bir çözüm bulamadım. Bu yüzden benim için bir geçici çözüm, neredeyse hiç değişmeden (uzun bir süre sonra sadece birkaç piksel hareket eden bir Çeviri animasyonu) uzun bir animasyon ekliyordu, bu yüzden çerçeve animasyonu çerçevesinde birkaç dakika boyunca oynamaya devam ediyor. Uyguladığım uygulama için. Belki bu fikri faydalı buluyorsun.