繁体   English   中英

我可以得到我点击位置的坐标xy吗? OnTapListener?

[英]Can I get coordinates x y of the position where I tap? OnTapListener?

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

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

我应该在争论中传递的View和MotionEvent是什么? 谁能帮我一下,告诉我如何只获得x,y的接触点?

尝试以下视图:

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;
}

顺便说一句,您不需要调用此方法,只需重写它,并且每当触摸屏幕时,您的活动都会调用此方法。

让我知道这是否无效,我将删除答案

要获取按下时的坐标,请尝试:

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

PS我会发表评论,但代表PSS太低,如果您声明这是您要做的一切,请尝试切换,如果您尝试做多件事(即拖动一个项目),请切换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM