Android中的Touch Release方法

din*_*707 24 android

我正试图TouchRelease在Android中捕获该事件.我已经看到event.getAction()返回动作类型.但在里面onTouchEvent它总是给出行动ACTION_DOWN.
你知道如何捕捉触摸释放事件.

public boolean onTouchEvent(MotionEvent event) {
  Log.d(TAG,""+event.getAction());
  return super.onTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*dam 68

您可以使用ACTION_UP:http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_UP

View view = new View();

view.setOnTouchListener(new OnTouchListener () {
  public boolean onTouch(View view, MotionEvent event) {
    if (event.getAction() == android.view.MotionEvent.ACTION_DOWN) {
      Log.d("TouchTest", "Touch down");
    } else if (event.getAction() == android.view.MotionEvent.ACTION_UP) {
      Log.d("TouchTest", "Touch up");
    }
    return true;
  }
});
Run Code Online (Sandbox Code Playgroud)

  • @ dinesh707在你的`onTouchEvent`重写方法中,只需返回`true`而不是`super.onTouchEvent`然后你将得到其余的事件. (12认同)
  • 考虑同时评估`ACTION_CANCEL` (4认同)
  • `ACTION_UP`是正确的`MotionEvent`.也许这个事件被其他一些观点所消耗? (3认同)
  • @Aleadam:我认为回复声明不见了......;) (2认同)

小智 8

public boolean onTouchEvent(MotionEvent event) {
        Log.d(TAG,""+event.getAction());
        return true; // Required for recieving subsequent events (ACTION_MOVE, ACTION_UP)
}
Run Code Online (Sandbox Code Playgroud)