Android-为什么应用触发触摸事件会死掉?
我有以下这么一段代码,当我触摸的坐标在200,200这个矩形内的时候,就不执行后面的代码的,但是不知道为什么,如果我按照代码来做的话,整个程序都卡死不能动了.这是为什么呢?
最后复制上代码
public boolean onTouchEvent(MotionEvent ev)
{
int x = (int) ev.getX();
int y = (int) ev.getY();
if (dragImageView != null
&& dragPosition != AdapterView.INVALID_POSITION)
{
// int x = (int) ev.getX();
// int y = (int) ev.getY();
if (x < 200 && y < 200)
{
return super.onTouchEvent(ev);
}
switch (ev.getAction())
{
case MotionEvent.ACTION_MOVE:
if (!isCountXY)
{
xtox = x - mLastX;
ytoy = y - mLastY;
isCountXY = true;
}
onDrag(x, y);
if (!isMoving)
OnMove(x, y);
break;
case MotionEvent.ACTION_UP:
stopDrag();
onDrop(x, y);
break;
}
}
return super.onTouchEvent(ev);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应该是应用本身卡死的,你这个似乎做一个拖动某个图标的动作。要注意onTouchEvent的返回值。如果是确定截获touch事件,应该返回True,否则返回false,不用返回super.OntouchEvent.可以参考android自带的Launcher2那个拖动的代码。另外,请参考这篇辅助知识@android触屏事件处理onInterceptTouchEvent的问题