旋转动画使其返回默认状态

时间:2018-10-10 21:31:29

标签: android android-animation

我有一个旋转动画,该动画垂直开始并水平结束(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 ,它并没有帮助我

1 个答案:

答案 0 :(得分:1)

尝试一下:

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