2013-05-01 3 views
0

Я пытаюсь использовать поворот, чтобы показать видимость встряхивания бок о бок. Я попытался определить анимацию программно, и я использую animationset для ее цикла, как предложено в this question. Однако при выполнении кода, похоже, ничего не делается.Цепная анимация вращения не работает

AnimationSet set = new AnimationSet(true); 

RotateAnimation rotright = new RotateAnimation(0.0f, 20.0f, 
     Animation.RELATIVE_TO_SELF, 0.9f, Animation.RELATIVE_TO_SELF, 0.5f); 
rotright.setDuration(0); 
set.addAnimation(rotright); 

RotateAnimation rotleft = new RotateAnimation(0.0f, 340.0f, 
     Animation.RELATIVE_TO_SELF, 0.9f, Animation.RELATIVE_TO_SELF, 0.5f); 
rotleft.setDuration(0); 
set.addAnimation(rotleft); 

blender.startAnimation(set); 
} 
}; 

Любые подсказки относительно того, как именно я испортился, будут очень признательны.

ответ

2
rotright.setDuration(0); 

rotleft.setDuration(0); 

Вы установили продолжительность двух анимаций 0, эффективно создавая мгновенные вращения, что приводит к отсутствию анимации вообще. Попробуйте установить некоторые значения больше нуля - помните, что вы устанавливаете миллисекунды.

+0

Большое значение. Если бы я мог продлить мой вопрос, он не зацикливался. Любая идея почему? – user1398478

+0

@ user1398478: Вы установили ['setRepeatMode (int)'] (http://developer.android.com/reference/android/view/animation/AnimationSet.html#setRepeatMode%28int%29) на свой 'AnimationSet'? Я не вижу его в исходном фрагменте кода. Вы можете перейти в «Animation.RESTART» или «Animation.REVERSE», в зависимости от желаемого эффекта. –