簡體   English   中英

如何檢測觸摸事件是否已落入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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM