【发布时间】:2014-03-28 06:52:51
【问题描述】:
应用程序正在关注。我在屏幕上有一条线。我触摸屏幕并移动手指。在我的手指碰到这条线的那一刻——我想在相交的那一刻显示一条消息。
代码:
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction() ;
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
boolean isline = check_line(event.getX(),event.getY());
if(isline){
//SHOW MESSAGE
}
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
但应用程序有时无法捕捉手指在线的那一刻。如果我移动缓慢 - 那么消息总是会出现。但如果我移动得快一点 - 没有消息。
直线的方程是 A*x + B*y + C = 0
check_line 是一个数学函数,它只是将我的 x 和 y 放在这个等式中。因此,当方程满足时,它返回 true,否则 - false。
但我希望所有案件都被抓住。
怎么办?
【问题讨论】:
标签: android multithreading touch android-canvas