2012-07-06 65 views
0

我猜测这意味着整个屏幕都可以触摸。这到底如何?如何检测用户是否触摸了除EditText内部以外的屏幕的任何部分?

然后计算一个X,Y是否在EditText中。

+0

问题是自我解释。检测您是否触摸过屏幕的任何位置,但在其中一个屏幕UI元素的边界内。所以用10个UI控件来描绘一个活动。我想知道用户是否触摸过除特定UI控件之外的任何地方。 – 2012-07-11 03:43:52

+0

我试过了什么?一种叫做'在你编码之前想' – 2012-07-11 21:59:48

回答

1

覆盖了的onTouchEvent在活动中要实现这个....并获得X,使用event.getX()和event.getY()

@Override 
    public boolean onTouchEvent(MotionEvent event) { 
     int x = (int)event.getX(); 
     int y = (int)event.getY(); 
     switch (event.getAction()) { 
      case MotionEvent.ACTION_DOWN: 
      case MotionEvent.ACTION_MOVE: 
      case MotionEvent.ACTION_UP: 
     } 
    return false; 
    } 

Y坐标,但是我建议发布问题前,您必须彻底搜索。

+0

我会建议你在回答之前研究一下。如果touchEvent着陆在某个包含的元素上,比如说一个CheckBox,那么在activity级别的onTOuchEvent将不会真正被调用。这适用于如果您使用表面视图。请更新您的答案,以确保在每种情况下事件都会一直冒泡到容器(活动)? – 2012-07-11 03:37:24

+0

顺便说一句,我没有重写这个方法,它根本没有被调用。 FYI – 2012-07-11 03:39:39

+0

公共布尔onTouch(视图v,MotionEvent事件){)似乎是一个调用并通过获取对主视图的引用为: – 2012-07-11 03:40:40

相关问题