私はかなり単純な目標を達成しようとしています。プロペラの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" />
アニメーションを開始します。
int loops = 1000000;
int degreesPerSecond = 360;
view.animate().rotationBy(degreesPerSecond * loops).setDuration(loops * 1000)
.setInterpolator(new LinearInterpolator());
ストップアニメーション:
view.animate().rotationBy(degreesPerSecond/2).setDuration(1000)
.setInterpolator(new DecelerateInterpolator());
あなたはそれをあなたが望むように得るために値で遊ぶ必要があるでしょう。しかし、これはかなり良さそうです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加