先看代码:
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
// 手指按下时,记录按下时的横坐标
xDown = event.getRawX();
yDown = event.getRawY();
Log.e("", "MotionEvent.ACTION_DOWN");
break;
case MotionEvent.ACTION_MOVE:
xMove = event.getRawX();
yMove = event.getRawY();
Log.e("", "MotionEvent.ACTION_MOVE");
break;
case MotionEvent.ACTION_UP:
xUp = event.getRawX();
Log.e("", "MotionEvent.ACTION_UP");
break; return fause;
}
看打印你会发现,只能捕获到ACTION_DOWN,仔细看,发现是因为在重写方法时,返回值是return fause;只要改成true就行了,要用到的时候注意了!
本文介绍了一个关于Android开发中触摸事件监听的问题。通过具体代码示例,详细解释了如何正确处理不同类型的触摸事件(如按下、移动和抬起),并指出了在实现`onTouch`方法时常见的错误——不当的返回值设置导致事件无法被正常捕获。
4025

被折叠的 条评论
为什么被折叠?



