如何检测触摸事件是否落在EditText中?

我可以findgetX()和getY()都返回一个浮点数。 但是,如何检测TouchEvent e.get(),e.​​getY()的坐标是否在EditText UI元素的边界内? 我注意到getX()和getY()是浮动,但getHeight()和getWidth()是int。 不会帮助比较…

Solutions Collecting From Web of "如何检测触摸事件是否落在EditText中?"

你到底想做什么? 如果您只想检测是否触摸了EditText,请将OnTouchListener添加到EditText …或OnClickListener。

编辑:如果你想在外面检测,你可以在包含视图中检测触摸事件,然后,给你有你的EditText视图:

Rect editTextRect = new Rect(); myEditText.getHitRect(editTextRect); if (!editTextRect.contains((int)event.getX(), (int)event.getY())) { Log.d("test", "touch not inside myEditText"); } 

或者,您也可以向EditText和容器添加触摸侦听器,并在EditText的一个中返回false,这样它将被截取并不会转发给父级。 因此,您在父级监听器中检测到的所有触摸都不属于EditText。