2010-03-26 4 views
9

Próbuję zrobić widok obrazu, który obraca się podczas przesuwania po ekranie. Ustawiam animację obracania na 180 stopni i działa ona sama. Ustawiam animację tłumaczenia i działa sama. Kiedy je łączę, uzyskuję obraz, który tworzy wielką spiralę. Chciałbym, aby obraz był obracany wokół środka obrazu podczas tłumaczenia.Jak uzyskać podgląd obrazu do obrócenia podczas tłumaczenia w systemie Android?

 AnimationSet animSet = new AnimationSet(true); 
     //Translate upwards and to the right. 
     TranslateAnimation anim = 
      new TranslateAnimation(
        Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, +80.0f, 
        Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, -100.0f 
        ); 
      anim.setInterpolator(new DecelerateInterpolator()); 
      anim.setDuration(400); 
      animSet.addAnimation(anim); 

      //Rotate around center of Imageview 
      RotateAnimation ranim = new RotateAnimation(0f, 180f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); //, 200, 200); // canvas.getWidth()/2, canvas.getHeight()/2); 
      ranim.setDuration(400); 
      ranim.setInterpolator(new DecelerateInterpolator()); 

      animSet.addAnimation(ranim); 

      imageBottom.startAnimation(animSet); 

Odpowiedz

17

Cóż, chyba jeden "rubber ducked" ten.

Kolejność użycia animacji ma znaczenie. Zmieniłem kolejność z translate/rotate na rotate/translate i to działa.

+1

miał ten sam problem, a to naprawiło. – tipu