2016-04-07 3 views
2

Я пытаюсь повернуть изображение на 360 градусов, используя AccelerateDecelerateInterpolator. Я включил код для поворота изображения в onclickfunction кнопки. Когда я нажимаю кнопку в первый раз, изображение вращается. Однако, когда я нажимаю его в следующий раз, ничего не происходит.ImageView вращается только один раз, используя AccelerateDecelerateInterpolator

public void displaySpinResult_Spinner(View view) { 
     arrow.animate().rotation(360).setInterpolator(new AccelerateDecelerateInterpolator()).start(); 
} 

ответ

0

Я думаю, что это решение:

public void displaySpinResult_Spinner(View view) { 
    arrow.animate().rotation(360).setInterpolator(new AccelerateDecelerateInterpolator()).start(); 
    arrow.animate().rotation(360).setInterpolator(new AccelerateDecelerateInterpolator()).reset(); 
} 
1

Это, вероятно, потому, что значение вращения сохраняется. Когда вы укажете rotation(360) во второй раз, View уже повернут на 360 градусов, поэтому ничего не происходит.

Вы можете либо попробовать rotation(arrow.getRotation() + 360), либо использовать вместо этого метод rotationBy().

+0

Спасибо, что ответили. Теперь я использую класс rotateanimation и его работоспособность. – srkmish

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