如何在 android 工作室中停止动画?
How to stop animation in android studio?
ysize.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:startOffset="0"
android:repeatMode="reverse"
android:fillAfter="false"
android:shareInterpolator="@android:interpolator/linear"
>
<scale
android:pivotY="50%"
android:fromYScale="10dp"
android:fromXScale="1"
android:toXScale="1"
android:toYScale="40dp"
android:repeatCount="infinite"
android:duration="480"
>
</scale>
</set>
MainActivity.java
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
Animation input_v1;
ImageView in_v1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
input_v1 = AnimationUtils.loadAnimation(this,R.anim.ysize); //Animation initialization
in_v1 = findViewById(R.id.i_v1); //image,textview,button initialization
in_v1.startAnimation(input_v1); //Start animation
}
}
以上代码可以运行并启动动画。
但是我想停止这个动画。
和动画的其他重要功能
//你是如何开始的
Animation rotation = AnimationUtils.loadAnimation(this, R.anim.ysize);
rotation.setRepeatCount(Animation.INFINITE);
iv.startAnimation(rotation);
//你一边旋转一边做你的事情
...
//你告诉它不要再重复了
rotation.setRepeatCount(0);
对我有用。
in1_v.clearAnimation(); //Stop animation
ysize.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:startOffset="0"
android:repeatMode="reverse"
android:fillAfter="false"
android:shareInterpolator="@android:interpolator/linear"
>
<scale
android:pivotY="50%"
android:fromYScale="10dp"
android:fromXScale="1"
android:toXScale="1"
android:toYScale="40dp"
android:repeatCount="infinite"
android:duration="480"
>
</scale>
</set>
MainActivity.java
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
Animation input_v1;
ImageView in_v1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
input_v1 = AnimationUtils.loadAnimation(this,R.anim.ysize); //Animation initialization
in_v1 = findViewById(R.id.i_v1); //image,textview,button initialization
in_v1.startAnimation(input_v1); //Start animation
}
}
以上代码可以运行并启动动画。
但是我想停止这个动画。
和动画的其他重要功能
//你是如何开始的
Animation rotation = AnimationUtils.loadAnimation(this, R.anim.ysize);
rotation.setRepeatCount(Animation.INFINITE);
iv.startAnimation(rotation);
//你一边旋转一边做你的事情
...
//你告诉它不要再重复了
rotation.setRepeatCount(0);
对我有用。
in1_v.clearAnimation(); //Stop animation