我在我的一个图像视图上实现了一个动画。我的问题是动画根本不会停止。我称之为清除所有我将其设置为null将其设置为取消并且它仍然不会停止。
var corsOptions = {
origin: process.env.ctxCliente,
credentials: true
}
app.use(cors(corsOptions));
这里是xml文件
public void tiltani(){
ImageView vault = (ImageView)findViewById(R.id.vault2) ;
Animation tilt = AnimationUtils.loadAnimation(this, R.anim.tilt);
vault.startAnimation(tilt);
}
public void stopani() {
Animation tilt = AnimationUtils.loadAnimation(this, R.anim.tilt);
vault.clearAnimation();
vault.setAnimation(null);
tilt.cancel();
tilt.reset();
}
这是我开始的地方
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="6"
android:pivotX="50%"
android:pivotY="50%"
android:duration="500"
android:repeatCount="infinite"/>
<rotate
android:fromDegrees="6"
android:toDegrees="-2"
android:pivotX="50%"
android:pivotY="50%"
android:duration="500"
android:repeatMode="reverse"
android:repeatCount="infinite"
/>
我尝试在onclick方法中停止/取消所有内容
Intent intent1 = getIntent();
if (intent1.hasExtra("id1")) {
tiltani();
更新
vault.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
vault.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, R.drawable.chestopen));
stopani();
答案 0 :(得分:0)
您可以使用vault.startAnimation(tilt);
开始动画,并使用vault.setAnimation(null);
停止动画。
您已在stopani()
方法中初次初始化动画。您的视图初始化和动画初始化应该是全局的。
您的代码应该是这样的。
ImageView vault = (ImageView)findViewById(R.id.vault2); //Global variable
Animation tilt = AnimationUtils.loadAnimation(this, R.anim.tilt); //Global variable
public void tiltani(){
vault.startAnimation(tilt);
}
public void stopani() {
vault.clearAnimation();
vault.setAnimation(null);
tilt.cancel();
tilt.reset();
}
希望,它会帮助你...... :)