活动上的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();
}
}
});
}
谢谢