2013-06-10 4 views
1

Я пытаюсь разработать свое первое приложение для Android. Я прочитал много статей об анимациях. Теперь на моем макете есть ImageView, и я хочу повернуть его на 360 градусов. И эта анимация повторяется навсегда. Так вот мой solteypanim.xml файл:Почему действует смягчающая анимация?

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/linear_interpolator" 
    android:ordering="sequentially" > 
    <objectAnimator 
    android:duration="3000" 
     android:propertyName="rotation" 
     android:repeatCount="infinite" 
     android:valueTo="360" 
     android:valueFrom="0" /> 
</set> 

И это мой код деятельности

@TargetApi(Build.VERSION_CODES.HONEYCOMB) 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    ...  
    ImageView solTeyp = (ImageView)findViewById(R.id.solTeyp); 
    AnimatorSet solTeypAnim = (AnimatorSet) AnimatorInflater.loadAnimator(this, R.animator.solteypanim); 
    solTeypAnim.setTarget(solTeyp); 
    solTeypAnim.start(); 
    ... 
    } 

Это работает, но есть проблема. Изменение Вращение Значение не линейное. Я имею в виду, что в начале и конце анимации эффект ослабления. Он начинается медленно, а затем получает скорость и снижает скорость. На каждом ходу есть одна и та же проблема.

Можете ли вы рассказать мне, как я могу отключить этот эффект ослабления?

+0

Набор а [LinearInterpoator] (http://developer.android.com/reference/android/view/animation/LinearInterpolator.html) к анимации. –

+0

@ пользователь117, он уже установлен. Посмотрите на 2-ю строку xml-файла. – Eray

ответ

4

OK только что нашли ответ. Я должен установить линейный интерполятор на мой objectAnimator, а не мой комплект.

Как это:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:ordering="sequentially" > 
    <objectAnimator 
    android:duration="3000" 
    android:interpolator="@android:anim/linear_interpolator" 
     android:propertyName="rotation" 
     android:repeatCount="infinite" 
     android:valueTo="360" 
     android:valueFrom="0" /> 
</set> 
Смежные вопросы