【发布时间】:2013-10-22 18:38:15
【问题描述】:
我有一个动画可以让按钮在触摸时按下。我希望它能够在用户滚动屏幕时保持按下状态。为此,我制作了一个动画,基本上只是保持图像处于相同状态以调用 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。任何帮助将不胜感激。
【问题讨论】:
标签: android android-animation touch-event ontouchlistener