Java 如何区分屏幕右/左侧的点击?

Java 如何区分屏幕右/左侧的点击?,java,android,motionevent,Java,Android,Motionevent,我认为这是一个非常相关和常见的问题,但我找不到答案。 目前我有这个方法: public boolean onTouchEvent (MotionEvent evt){ if (evt.getAction() == MotionEvent.ACTION_DOWN) { do stuff ... } } 因此,如果用户点击屏幕(无论何处),代码就会被执行。现在我想要区分显示器的右侧和左侧(左侧表示-->返回)。请参阅有关如何获取触摸位置的帖子 看来在你的情况下,你会使用 int

我认为这是一个非常相关和常见的问题,但我找不到答案。 目前我有这个方法:

public boolean onTouchEvent (MotionEvent evt){
  if (evt.getAction() == MotionEvent.ACTION_DOWN) {
     do stuff ...
  }
}
因此,如果用户点击屏幕(无论何处),代码就会被执行。现在我想要区分显示器的右侧和左侧(左侧表示-->返回)。

请参阅有关如何获取触摸位置的帖子

看来在你的情况下,你会使用

int x = (int)event.getX();
int y = (int)event.getY();
并在您希望应用程序做出反应的布局范围内工作。

请参阅关于如何获得触摸位置的帖子

看来在你的情况下,你会使用

int x = (int)event.getX();
int y = (int)event.getY();

并在您希望应用程序做出反应的布局范围内工作。

您可以通过多种方式来实现这一点。以下是其中之一:

onTouch
侦听器附加到视图,该视图延伸到其边缘。(例如,保存其余视图的
RelativeLayout

private View.OnTouchListener OnTouchListener=new View.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
float-halfascreen=mainLayout.getMaxWidth()/2;
开关(event.getAction()){
case MotionEvent.ACTION\u DOWN:
float fingerPosition=event.getX();
if(手指位置<屏幕的一半){
onBackPressed();
}
返回true;
违约:
返回false;
}
}
};

您可以通过多种方式实现这一点。以下是其中之一:

onTouch
侦听器附加到视图,该视图延伸到其边缘。(例如,保存其余视图的
RelativeLayout

private View.OnTouchListener OnTouchListener=new View.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件){
float-halfascreen=mainLayout.getMaxWidth()/2;
开关(event.getAction()){
case MotionEvent.ACTION\u DOWN:
float fingerPosition=event.getX();
if(手指位置<屏幕的一半){
onBackPressed();
}
返回true;
违约:
返回false;
}
}
};

用户必须点击某个视图,才能在某种程度上知道他们点击的位置。0,0是设备的左上角。要获得X/Y,必须获得显示宽度/高度。并找出他们在视图中点击的位置。用户必须点击一个视图,才能在某种程度上知道他们点击的位置。0,0是设备的左上角。要获得X/Y,必须获得显示宽度/高度。我想应该是
event.getRawX()
event.getRawY()
。在发生事件时,无法使用
getX()
getY()
。它们是
View
类的方法。我认为应该是
event.getRawX()
event.getRawY()
。在发生事件时,无法使用
getX()
getY()
。它们是
View
class的方法。嘿!我不知道为什么,但是这个听众不适合我。。但是我把你的代码添加到了我的OnTouchEvent中,这很有效(稍微好一点)。干杯时,我看到我的变量“fingerPosition”在100到1000之间,“Half Screen”是1.07E9。。你知道为什么吗?我把它改为560,因为这是我的一半。现在它工作了!嘿我很高兴它至少在某种程度上对你有用嘿!我不知道为什么,但是这个听众不适合我。。但是我把你的代码添加到了我的OnTouchEvent中,这很有效(稍微好一点)。干杯时,我看到我的变量“fingerPosition”在100到1000之间,“Half Screen”是1.07E9。。你知道为什么吗?我把它改为560,因为这是我的一半。现在它工作了!嘿我很高兴它至少在某种程度上对你起了作用