![](/img/trans.png)
[英]How do I detect if a user has touched any part of the screen other than the inside of an EditText?
[英]How do I detect if a touch event has landed within an EditText?
我可以找到getX(),getY()都返回一個浮點數。 但是,如何檢測TouchEvent e.get(),e.getY()的坐標是否在EditText UI元素的邊界內? 我注意到getX()和getY()是浮點數,但getHeight()和getWidth()都是int。 不會幫助比較......
你究竟想做什么? 如果您只想檢測是否觸摸了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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.