Повернуть анимацию и вернуться в состояние по умолчанию - PullRequest
0 голосов
/ 11 октября 2018

У меня есть анимация вращения, которая начинается вертикально и заканчивается горизонтально (90 градусов).
Мне нужно, чтобы анимация оставалась горизонтальной, пока не будет нажата какая-то кнопка, но она просто продолжает возвращаться в свое вертикальное состояние

Клики слушателей:

holder.options.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                holder.options.startAnimation(AnimationUtils.loadAnimation(context,R.anim.rotate_right));
                setMenuOptionsButton();
            }}

Анимация

<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
    android:fromDegrees="0"
    android:toDegrees="90"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration = "500"
    android:fillAfter="true"
    android:interpolator="@android:anim/linear_interpolator"
    />

Я видел некоторые решения здесь и мне это не помогло

1 Ответ

0 голосов
/ 11 октября 2018

Попробуйте это:

Animation anim = AnimationUtils.loadAnimation(context,R.anim.rotate_right);
anim.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {

    }

    @Override
    public void onAnimationEnd(Animation animation) {
        holder.options.setRotation(90);
    }

    @Override
    public void onAnimationRepeat(Animation animation) {

    }
});

holder.options.startAnimation(anim);
...