Разрешено по коду.
Я создал простое приложение для Android, играющее с анимацией, есть альфа, traslate и rotate.
Это вид с тремя кнопками (по одной для каждой анимации). Когда я нажимаю на кнопку, она запускает анимацию и показывает красную кнопку, которая позволяет отменить ее.
Моя проблема в том, что когда я отменяю анимацию alha и запускаю другую, эта показывает прозрачность, как альфа-анимация, когда я закрываю ее.
Я использовал setalpha и другие коды для управления им, но я никогда не смогу его контролировать.
Большое спасибо.
Код класса
public void onClick(View v) {
close = (Button) findViewById(R.id.close);
image = (ImageView) findViewById(R.id.View);
image.setEnabled(true);
switch (v.getId()) {
case R.id.Alpha:
animation = AnimationUtils.loadAnimation(this, R.anim.alpha);
close.setVisibility(View.VISIBLE);
close.setOnClickListener(this);
close.setEnabled(true);
break;
case R.id.Rotate:
animation = AnimationUtils.loadAnimation(this, R.anim.rotate);
close.setVisibility(View.VISIBLE);
close.setOnClickListener(this);
close.setEnabled(true);
break;
case R.id.Traslate:
animation = AnimationUtils.loadAnimation(this, R.anim.traslate);
close.setVisibility(View.VISIBLE);
close.setOnClickListener(this);
close.setEnabled(true);
break;
case R.id.Close:
close.setVisibility(View.INVISIBLE);
close.setEnabled(false);
image.setEnabled(false);
image.clearAnimation();
break;
}
if (close.isEnabled()) {
animation.reset();
image.setOnClickListener(this);
image.clearAnimation();
image.startAnimation(animation);
}
}
}
Код альфа XML
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="3000"/>
<alpha
android:startOffset="5000"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="3000"/>
</set>
Код поворота xml
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<rotate
android:fromDegrees="90"
android:toDegrees="0"
android:pivotX="-5%"
android:pivotY="5%p"
android:duration="3000" />
<rotate
android:fromDegrees="0"
android:toDegrees="90"
android:pivotX="5%"
android:pivotY="-5%p"
android:duration="3000"
android:startOffset="5000" />
</set>
Это не то, что я ожидал, но я исправил это, запустив новую альфа-анимацию с длительностью 1 от альфа 0 до 1.