我有一个动画,可以在触摸时按下按钮。我希望它能够在用户滚动屏幕时保持按下状态。为此,我制作了一个动画,基本上只是保持图像处于相同状态以在 ACTION_MOVE 中调用。我的问题是,当我释放按钮时,不会调用 ACTION_UP,这会触发动画将按钮恢复到完整大小并且不再看起来被按下。我在 ScrollView 中有整个相对布局。我仍然不完全了解发生了什么,但似乎 ScrollView 可能正在“接管” onTouch 事件。这是我的 onTouchListener 代码。
s104.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
clearAnim();
s104.setAnimation(animPressed);
s104.startAnimation(animPressed);
return true;
case MotionEvent.ACTION_MOVE:
s104.setAnimation(animDrag);
s104.startAnimation(animDrag);
return true;
case MotionEvent.ACTION_UP:
s104.setAnimation(animReleased);
s104.startAnimation(animReleased);
return true;
}
return false;
}
});
我不知道为什么没有调用 ACTION_UP。任何帮助将不胜感激。