Tôi có thể tìm getX() và getY() cả hai đều trả về một phao. Nhưng làm cách nào để phát hiện xem các tọa độ của một TouchEvent e.get(), e.getY() có nằm trong ranh giới của phần tử UI EditText không? Tôi nhận thấy getX() và getY() là float nhưng getHeight() và getWidth() là int. Sẽ không giúp so sánh ...Tôi làm cách nào để phát hiện xem sự kiện chạm đã hạ cánh trong EditText?
Trả lời
Chính xác bạn muốn làm gì? Nếu bạn chỉ muốn phát hiện nếu EditText của bạn được chạm vào, hãy thêm một OnTouchListener vào EditText ... hoặc thậm chí OnClickListener.
Edit: Nếu bạn muốn phát hiện bên ngoài, bạn có thể phát hiện sự kiện liên lạc trong giao diện chứa, và sau đó, đưa cho bạn có cái nhìn EditText của bạn:
Rect editTextRect = new Rect();
myEditText.getHitRect(editTextRect);
if (!editTextRect.contains((int)event.getX(), (int)event.getY())) {
Log.d("test", "touch not inside myEditText");
}
Hoặc bạn có thêm một người biết lắng nghe cảm ứng cả hai đến EditText và vùng chứa, và trả về false trong một EditText, theo cách này nó sẽ bị chặn và không được chuyển tiếp đến cha mẹ. Vì vậy, tất cả các chạm bạn phát hiện trong người nghe của phụ huynh, sẽ không thuộc về EditText.
Nghịch đảo của điều đó. Phát hiện nếu sự kiện chạm đã xảy ra bên ngoài EditText. –
Nhưng không "trong" không có nghĩa là "bên trong", hoặc là tiếng Anh của tôi sai? – Ixx
Ok. Tôi nghĩ điều này về cơ bản là đúng. Nhưng tôi muốn làm rõ về những gì các container sẽ nhận được. Gỡ lỗi dường như chỉ ra rằng các phần tử được chứa như EditText gobble sự kiện liên lạc của họ và họ không bong bóng lên đến container. Mỗi yếu tố khác trên hoạt động như hộp kiểm tra vv cũng gobble (không bong bóng lên) sự kiện cảm ứng hạ cánh trong khu vực của họ. Có lẽ họ là một số thiết lập trong biểu hiện để nói với một yếu tố có chứa để bong bóng các sự kiện liên lạc của nó hoặc bạn sẽ cần phải ghi đè lên một phương pháp để làm điều này? –
- 1. Phát hiện các sự kiện chạm/chạm trong một người xem
- 2. Cách phát hiện sự kiện chạm bên ngoài phần tử
- 3. Phát hiện các sự kiện chạm trên UILabel
- 4. Làm cách nào để phát hiện khi Chế độ xem của tôi đã di chuyển?
- 5. Trên UILongPressGestureRecognizer làm cách nào để phát hiện đối tượng nào đã tạo sự kiện?
- 6. Phát hiện chạm trên EditText, nhưng không làm gián đoạn cảm ứng?
- 7. Làm cách nào tôi có thể phản hồi các sự kiện chạm trên UITextField?
- 8. Cách phát hiện xem hình ảnh có được chạm vào
- 9. cách phát hiện cảm ứng sự kiện trong chế độ xem phụ hoặc cách làm cho chế độ xem cha mẹ được chạm khi chúng tôi chạm vào chế độ xem phụ?
- 10. Trình phát hiện va chạm/phát hiện va chạm voxel
- 11. Tôi làm cách nào để phát hiện onKeyUp trong AngularJS?
- 12. Làm cách nào để kiểm tra xem một sự kiện đã được đăng ký, trong .NET?
- 13. Làm thế nào để sử dụng EditText onTextChanged sự kiện khi tôi bấm số?
- 14. Cách phát hiện va chạm trong webgl?
- 15. Làm thế nào để phát hiện va chạm nhưng không va chạm trong box2d?
- 16. Cách phát hiện xem DOMContentLoaded đã được kích hoạt chưa
- 17. Cách phát hiện khi người dùng chạm vào chế độ xem trong Android
- 18. Làm cách nào để tạo sự kiện chạm vào nút đánh chặn giám sát?
- 19. iOS - Phát hiện chạm trong UIView?
- 20. Làm cách nào để phát hiện sự kiện KeyPress trong UITextField?
- 21. Làm cách nào để tôi có thể nắm bắt các sự kiện chạm vào tiêu đề phần UITableView?
- 22. Làm cách nào để xử lý sự kiện chạm trên UILabel dưới dạng subview của UITableViewCell?
- 23. iOS - Kéo và thả phát hiện va chạm Làm thế nào để phát hiện khi mục đã chọn của bạn kéo trên một chế độ xem phụ khác?
- 24. Làm cách nào để phát hiện xem WinPE (4) đã khởi động từ UEFI hay BIOS?
- 25. Làm cách nào để kiểm tra xem Trình tạo sự kiện JavaScript đã được đặt?
- 26. Làm cách nào để tôi có thể phát hiện xem người dùng đã chọn từ tùy chọn createChooser?
- 27. Phát hiện va chạm Javascript
- 28. Làm cách nào để phát hiện xem trình duyệt có hỗ trợ các sự kiện di chuột không?
- 29. QuadTree cho phát hiện va chạm 2D
- 30. Làm cách nào để tôi có thể thực hiện Phát hiện va chạm trên hình chữ nhật được xoay?
Bạn đã thử những gì? Tôi ** rất khuyên bạn nên đọc [tài liệu OnTouchListener] (http://developer.android.com/reference/android/view/View.OnTouchListener.html) ... – Sam
Đã chỉnh sửa bài đăng của tôi. – Ixx
Những gì tôi đã thử là một cái gì đó gọi là 'suy nghĩ trước khi bạn mã' –