2015-08-16 2 views
0

Я хочу повернуть простое изображение, которое имеет высоту 5 дп.Android с повышенным видом анимация не гладкая

 animRotate=ObjectAnimator.ofFloat(imgProgress, "rotationY", 0, 360); 
     animRotate.setDuration(ANIM_DURATION); 
     animRotate.setRepeatCount(5); 
     animRotate.start(); 

анимация для приведенного выше кода является гладким, если андроид: значение высоты для ImageView не установлен в файле макета. Но когда я устанавливаю высоту, анимация становится рывкой.

Может кто-нибудь предложить исправить?

+0

ли вы устанавливаете его в xml или вызываете некоторый набор * метод должен иметь какую-либо разницу, ведь установка его в xml вызывает тот же метод, который вызывается при создании вашего представления – pskink

+0

@pskink моя проблема возникает, когда я устанавливаю высота анимации вялена. Если я сниму высоту, он снова станет гладким. – user1122549

ответ

0

Возможно, причина в том, что вы одновременно создаете и запускаете анимацию. Как говорят документы, то лучше сначала инициализировать вашу анимацию

//OnCreate 
animRotate=ObjectAnimator.ofFloat(imgProgress, "rotationY", 0, 360); 
animRotate.setDuration(ANIM_DURATION); 
animRotate.setRepeatCount(5); 

И тогда, когда пришло время для анимации уволят запустить его

animRotate.start(); 

Кроме того, рассмотреть вопрос о чтении о том, что PivotX и PivotY являются, это может быть полезно.

Кроме того, использование интерполятора по умолчанию даст странный результат для вращения 5 раз - я думаю, что использование простого линейного интерполятора намного лучше.

+0

спасибо за ваше предложение! Я попытался инициализировать анимацию в методе onCreate(). Но не было большой разницы. Тем не менее, я думаю, что вижу небольшое улучшение. Но все же, это не так гладко, как анимация с 0 высотой. Я также попробовал LinearInterpolator, но ничего не изменил. – user1122549

+0

LinearInterpolator изменит вашу анимацию - по умолчанию у вас есть еще один, который не имеет линейных изменений. 2 Когда вы вызываете метод start()? отправьте свой код –

Смежные вопросы