旋转动画保持 return 为默认状态

Rotate animation keep return to its default state

我有一个垂直开始并水平结束(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"
    />

我看到了some solutions here但对我没有帮助

试试这个:

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);