イメージアニメーションをローディングアニメーションとして使用しています。私のデータがロードされたら、私はアニメーションを止めようとしますが、最後までサイクリングして停止するのではなく、アニメーションが途中で止まり、停止して元の状態に戻ります。 。ここで サイクルの終了時にアニメーションを停止する方法は?
は、私が試したものです:オプション1:
ImageView iv = (ImageView) findViewById(R.id.refreshImage);
if (iv != null) {
iv.clearAnimation();
}
オプション2:
ImageView iv = (ImageView) findViewById(R.id.refreshImage);
if (iv != null && iv.getAnimation() != null) {
iv.getAnimation().cancel();
}
オプション3:
ImageView iv = (ImageView) findViewById(R.id.refreshImage);
if (iv != null && iv.getAnimation() != null) {
iv.getAnimation().setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
animation.cancel();
}
@Override
public void onAnimationEnd(Animation animation) {
}
});
}
最終的な結果は、 3つすべての場合において同じである。どのようにイメージを回転させて、イメージが開始された場所に戻ってしまうのですか?
編集:
いくつかの詳細情報:私の回転アニメーション:私はアニメーションを開始どのように
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" />
:
ImageView iv = (ImageView) findViewById(R.id.refreshImage);
Animation rotation = AnimationUtils.loadAnimation(this, R.anim.rotate);
rotation.setRepeatCount(Animation.INFINITE);
iv.startAnimation(rotation);
私のアニメーションのいくつかはまだまだ少し不安定ですが、ほとんどの人には感謝しています! – Catherine
@Catherine複数のものが同時に発生しているアニメーションセットでは、テストしていないものの、単純なアニメーションではこれが邪魔になることがあります。 –
すてきなトリックをありがとう。 Androidの方がapi stopAfterCycleCompletion()などを提供した方が良いでしょう。 – rpattabi