我遇到了一些我自己构建的自定义按钮的问题。它由一个盒子和一个下面的小线组成。Android:检测按钮外的ACTION_UP事件
当您按下按钮时,该按钮会垂直向下动画,并在您释放时再次向上。这是在CustomButton.class处理:
super.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
buttonContent.startAnimation(rectMoveDown);
colorDown.start();
return false;
}
if (event.getActionMasked() == MotionEvent.ACTION_UP) {
buttonContent.startAnimation(rectMoveUp);
colorUp.start();
return false;
}
return false;
}
});
然后在应用程序的其余部分我用这个按钮并设置clicklistener它。因此我返回false(我认为这至少是正确的),因为我不想使用该事件,而是将其传递给层次结构中的clicklistener。
但是,当我第一次按下按钮时,出现问题,将我的手指移动到按钮之外,然后释放屏幕。然后该按钮不显示在ACTION_UP侦听器中完成的动画。
有没有人有线索如何解决这个问题?
这不适合我!首先,我需要返回false,否则按钮不会触发连接到它的点击监听器。即使当我回归真实时,它也不起作用。 –