【发布时间】:2014-08-22 12:16:48
【问题描述】:
我有一个代表按钮的 ImageView 和一个相对的 OnTouchListener 用于更改其中的图像(用于模拟按下它)并启动一个任务:
@Override
public boolean onTouch(View v, MotionEvent event) {
ImageView button = (ImageView) v;
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
//change imageview image with pressed button
return true;
}
case MotionEvent.ACTION_UP: {
//change imageview image, and do a task
return true;
}
}
return false;
}
现在这两个事件对于我的范围来说是不够的。我希望,如果用户在 ImageView 上按住手指并在其外部滑动,则 ACTION_UP 内的任务将不会执行。 我该怎么做?
【问题讨论】:
-
使用 event.getX() 和 event.getY() 来计算触摸区域。在onTouch()中根据区域处理事件
标签: android listener android-imageview ontouchlistener