减慢当前的动画?

Dai*_*lis 2 animation android

我试图实现一个相当简单的目标.有一个螺旋桨的imageView,旋转的无限LinearInterpolator动画直到按下按钮.用户按下按钮后,如何将动画减慢到停止状态?

这是一个非常简单的动画代码:

<?xml version="1.0" encoding="UTF-8"?>
<rotate
    android:interpolator="@anim/linear_interpolator"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:toDegrees="360"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="infinite"
    android:fillAfter="true"
    android:fillEnabled="true"
    android:duration="800" />
Run Code Online (Sandbox Code Playgroud)

wes*_*ton 7

开始动画:

int loops = 1000000;
int degreesPerSecond = 360;
view.animate().rotationBy(degreesPerSecond * loops).setDuration(loops * 1000)
  .setInterpolator(new LinearInterpolator());
Run Code Online (Sandbox Code Playgroud)

停止动画:

view.animate().rotationBy(degreesPerSecond/2).setDuration(1000)
    .setInterpolator(new DecelerateInterpolator());
Run Code Online (Sandbox Code Playgroud)

您需要使用这些值来获得它想要的效果.但这看起来很不错.