如果在一个循环完成之前再次启动,则动画 imageview 会损坏

Animating imageview broken if it's started again before one cycle finishes

我有一个 ImageView,我使用 OnClickListener 将其随动画旋转 180 度。如果它触发得非常快(在一个动画完成之前),动画就会出错并以奇怪的角度离开视图(例如相对于基本状态旋转 47 度)。

如何在当前动画完成之前阻止下一个动画或如何以其他方式处理它?

bankExpandArrow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (totalText.getVisibility() == View.GONE) {
                    totalText.setVisibility(View.VISIBLE);;
                    bankExpandArrow.animate().rotationBy(180f).start();
                }
                else {
                    totalText.setVisibility(View.GONE);
                    bankExpandArrow.animate().rotationBy(180f).start();
                }
            }
        });

尝试使用 rotation 而不是 rotationBy