我可以获得我点击的位置的坐标x y吗? OnTapListener?

时间:2016-01-26 21:32:50

标签: java android view ontouchlistener motionevent

我一直在寻找能够给我触摸屏幕上点的x,y坐标的功能。 我得到了onTouch()的代码,但找不到调用该函数的方法。

public boolean onTouch(View v, MotionEvent event) {
   int x = event.getX();
   int y = event.getY();
   return true;
}

我应该在辩论中传递什么是View和MotionEvent? 任何人都可以帮助我,告诉我如何获得x,y的触摸点?

2 个答案:

答案 0 :(得分:0)

尝试使用此视图:

View yourView = findViewById(R.id.yourViewId)
    yourView.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getActionMasked() == MotionEvent.ACTION_DOWN) {
            // Do something
            x = event.getX();
            y = event.getY();
            }
            return true;
        }
    });

或尝试使用此活动:

@Override
public boolean onTouchEvent(MotionEvent event) {
            if(event.getActionMasked() == MotionEvent.ACTION_DOWN) {
            // Do something
            x = event.getX();
            y = event.getY();
            }
            return true;
}

顺便说一下,您不需要调用此方法,只需覆盖它,只要触摸屏幕,您的活动就会调用此方法。

答案 1 :(得分:0)

如果这不起作用,请告诉我,我会删除答案

获取按下try时的坐标:

switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN: // when you touch
        x = event.getRawX(); // gather x and y
        y = event.getRawY();
        break;

PS我会评论,但代表太低了 PSS你if if声明如果这是你想要做的全部,如果你试图做多件事情就转换,即拖动一个项目。