一个事件的Android停止按钮动画

时间:2015-03-17 15:40:38

标签: android android-layout android-animation

活动上的Android停止按钮动画

我正在尝试为按钮设置动画。动画正在运行,但我无法阻止它。

首先,我在类

中定义了一个属性
private ObjectAnimator animatorBtn;

然后当一个事件发生在方法内部时,我开始动画

@Override
public void writeMessage(final Message message) {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            if (myBtn.getVisibility() == View.VISIBLE && messageView.getVisibility() != View.VISIBLE) {
                myBtn.setBackground(context.getResources().getDrawable(R.drawable.red_round_button));
                animatorBtn = ObjectAnimator.ofFloat(myBtn, "translationY", -100f, 0f);
                animatorBtn.setDuration(1000);//1sec
                animatorBtn.setInterpolator(new BounceInterpolator());
                animatorBtn.setRepeatCount(ValueAnimator.INFINITE);
                animatorBtn.start();
            }
            messageView.writeViewMessage(message);
        }
    });
}

另一个事件我试图阻止它。但是没有工作

@OnClick(R.id.my_btn)
void onClickMyBtn() {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            myBtn.setBackground(context.getResources().getDrawable(R.drawable.green_round_button));
            if (animatorBtn != null) {
                animatorBtn.cancel();
            }
        }
    });
}

谢谢

0 个答案:

没有答案