我可以找到getX()和getY()都返回一個浮點數。但是,如何檢測TouchEvent e.get(),e.getY()的座標是否在EditText UI元素的邊界內?我注意到getX()和getY()是float,但getHeight()和getWidth()是int。不會幫助比較...如何檢測觸摸事件是否落在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。
那是相反的。檢測觸摸事件是否發生在EditText之外。 – 2012-07-06 23:51:53
但「內」不是指「裏面」,還是我的英語錯了? – Ixx 2012-07-06 23:54:22
好的。我認爲這基本上是正確的。但我想澄清容器將會收到什麼。調試似乎表明像EditText這樣的包含元素吞噬了他們的觸摸事件,並且它們不會冒泡到容器中。活動中的其他元素(如複選框等)也會吞噬(不會冒泡)落入其區域的觸摸事件。也許他們是在清單中的某個設置中告訴一個包含的元素來觸發其觸摸事件,或者您是否需要重寫一個方法來執行此操作? – 2012-07-11 03:33:40
- 1. 如何檢測多點觸摸事件?
- 2. 檢測觸摸事件
- 3. 如何檢測設備是否在Titanium中有觸摸屏?
- 4. Android:檢測觸摸事件崩潰
- 5. 檢測UIWebview上的觸摸事件?
- 6. 檢測UILabel上的觸摸事件
- 7. 檢測離散觸摸事件
- 8. AndroidPlot:檢測點上的觸摸事件
- 9. 如何檢測Android中的觸摸事件
- 10. 如何檢查觸摸事件
- 11. 使用觸摸事件在imageView中進行連續觸摸檢測..?
- 12. Xamarin表單 - 如何檢測設備是否是觸摸設備?
- 13. 在MPVolumeView中檢測觸摸
- 14. 檢測任何觸摸事件在應用程序在iPhone
- 15. 檢測屏幕是否可以在Android上發送觸摸事件?
- 16. UITextField是否使用觸摸事件?
- 17. onClick事件是否會觸摸觸摸屏設備?
- 18. 如何檢測Activity上的5秒持續觸摸事件?
- 19. 如何檢測觸摸註釋視圖事件?
- 20. 如何檢測導航抽屜外的觸摸事件
- 21. 觸摸開始事件是否會觸發點擊事件?
- 22. 如何檢測Android設備是否被觸摸或移動
- 23. 如何檢測字段是否被觸摸或點擊?
- 24. 如何檢測iOS UIViewController是否與交互或觸摸
- 25. 如何在UIWebView上檢測觸摸
- 26. jquery mobile - 在滑動事件中檢測觸摸陣列
- 27. 在C++ Builder中檢測觸摸板事件
- 28. 如何檢測圓圈中的觸摸
- 29. 如何檢查wp7 XNA觸摸事件是否在定義的矩形內
- 30. 如何在變焦狀態下檢測觸摸動作是否觸及精靈?
你有什麼試過?我**高度推薦閱讀[OnTouchListener文檔](http://developer.android.com/reference/android/view/View.OnTouchListener.html)... – Sam 2012-07-06 23:35:20
編輯我的文章。 – Ixx 2012-07-07 00:00:20
我試過的東西叫做「在你編碼之前想想」 – 2012-07-11 21:57:09