Android 触摸事件:当手指从物品上取下时

Android 触摸事件:当手指从物品上取下时,android,events,touch,Android,Events,Touch,我需要在从项目中移除手指时实现功能。所以我需要一些活动 ***Scenario:*** 1. Touch the image view using finger. 2. Remove the finger. 3. Now implement the functionality. 我希望在第2步进行事件回调。 如果存在某个预定义事件,请建议名称。对于该场景,您可以为ImageView实现 yourImageView.setOnTouchListener(new OnTouchListener

我需要在从项目中移除手指时实现功能。所以我需要一些活动

***Scenario:*** 

1. Touch the image view using finger.
2. Remove the finger.
3. Now implement the functionality.
我希望在第2步进行事件回调。


如果存在某个预定义事件,请建议名称。

对于该场景,您可以为ImageView实现

yourImageView.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");
    }
  }
}

嗯。当您触摸屏幕并取下手指时,请拨打:

  • 动作\u向下-第一次触摸时
  • 动作\u移动-当您在屏幕上移动手指时
  • 动作\u UP-当您将手指从屏幕上移开时

  • 祝你好运

    请注意,如果要在MotionEvent.ACTION\u关闭后将MotionEvent.ACTION\u打开,则应在ACTION\u关闭时返回true
    public class TestTouchEvents extends Activity implements OnTouchListener {
      ImageView imageView;
      Bitmap bitmap;
      Canvas canvas;
      Paint paint;
    
    
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        imageView = (ImageView) this.findViewById(R.id.ImageView);
    
        Display currentDisplay = getWindowManager().getDefaultDisplay();
        float dw = currentDisplay.getWidth();
        float dh = currentDisplay.getHeight();
    
        bitmap = Bitmap.createBitmap((int) dw, (int) dh,Bitmap.Config.ARGB_8888);
        canvas = new Canvas(bitmap);
        paint = new Paint();
        paint.setColor(Color.GREEN);
        imageView.setImageBitmap(bitmap);
        imageView.setOnTouchListener(this);
      }
    
      public boolean onTouch(View v, MotionEvent event) {
        int action = event.getAction();
    
        switch (action) {
        case MotionEvent.ACTION_DOWN:
          // Do Something
          Log.d("Touch", "Touch down");
          break;
    
        case MotionEvent.ACTION_MOVE:
    
          // Do Something
          Log.d("Touch", "Touch move");
          //imageView.invalidate();
    
          break;
    
        case MotionEvent.ACTION_UP:
    
          // Do Something
          Log.d("Touch", "Touch up");
          //imageView.invalidate();
          break;
    
        case MotionEvent.ACTION_CANCEL:
    
          Log.d("Touch", "Touch cancel");
          break;
    
        default:
          break;
        }
        return true;
      }
    }