我一直在寻找能够给我触摸屏幕上点的x,y坐标的功能。 我得到了onTouch()的代码,但找不到调用该函数的方法。
public boolean onTouch(View v, MotionEvent event) {
int x = event.getX();
int y = event.getY();
return true;
}
我应该在辩论中传递什么是View和MotionEvent? 任何人都可以帮助我,告诉我如何获得x,y的触摸点?
答案 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声明如果这是你想要做的全部,如果你试图做多件事情就转换,即拖动一个项目。