【发布时间】:2010-11-17 08:56:27
【问题描述】:
我了解从视图中调用 onTouchEvent 以获取最后一次触摸的位置作为运动事件。我怎么能知道手指在屏幕上并且没有抬起以及手指何时抬起?
例如,当您处理键盘输入时,可以使用 onKeyDown 和 onKeyUp。
那么我怎样才能知道何时发生 on fingerUp 呢?
【问题讨论】:
我了解从视图中调用 onTouchEvent 以获取最后一次触摸的位置作为运动事件。我怎么能知道手指在屏幕上并且没有抬起以及手指何时抬起?
例如,当您处理键盘输入时,可以使用 onKeyDown 和 onKeyUp。
那么我怎样才能知道何时发生 on fingerUp 呢?
【问题讨论】:
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN:
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
case MotionEvent.ACTION_MOVE:
// Etc...
}
}
然后,只需在这些案例中填写您希望在这些事件中发生的事情。
【讨论】:
onTouchListener 有一个参数,其类型为 MotionEvent。您可以在哪里getAction() 知道它是 UP 还是 DOWN 或其他。
【讨论】: