Tôi đang cố gắng triển khai pinch-zoom trong ứng dụng tôi đang tạo và đang gặp sự cố với sự kiện onTouch. Dường như con trỏ lên các hành động không hoạt động & không kích hoạt ngay lập tức, như bạn sẽ không nhận được con trỏ lên hoặc xuống cho đến khi một hành động di chuyển xảy ra. Vì vậy, những gì sẽ xảy ra nếu cả hai ngón tay chạm vào màn hình gần như đồng thời là ngón tay thứ 2 (nên là con trỏ (1)) nhận được một hành động di chuyển trước khi con trỏ xuống được gọi, làm cho mã nghĩ rằng đó là một DRAG không phải là một pinch zoom. Bất cứ ai khác nhìn thấy điều này? Dù sao xung quanh nó? Cảm ơn.sự kiện trênTouch đôi khi không kích hoạt ACTION_POINTER_DOWN
Trả lời
Tôi đã gặp vấn đề tương tự trong dự án của mình. Nếu tôi chạm vào màn hình và ngón tay của tôi là quá gần togheter hệ thống không nhận ra một sự kiện multitouch. Tôi nghĩ rằng đó là bởi vì khi ngón tay của bạn quá gần togheter hệ thống nhìn thấy nó như một ngón tay duy nhất.
Có thể bạn có thể kiểm tra giả định này bằng cách sử dụng phương pháp getSize() để ước tính diện tích màn hình đang được nhấn khi bạn chạm vào màn hình bằng một ngón tay và khi bạn chạm vào màn hình bằng hai ngón tay.
Hóa ra là sự cố với ROM tùy chỉnh mà tôi đã nhấp vào Evo của mình. Cảm ơn một lần nữa để hara cho lời khuyên của họ như hóa ra là một lỗi tôi đã có.
phải đối mặt với cùng một vấn đề Hóa ra ACTION_POINTER_2_DOWN đã bị sa thải trong ứng dụng của tôi khi tôi chạm vào ngón tay thứ hai và sau ACTION_MOVE đó đã bị sa thải phương pháp getAction() cho biết số sự kiện mà cần phải được kiểm tra đối chiếu danh sách này
http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_MOVE – Omkar
đảm bảo bao gồm MotionEvent.ACTION_MASK trong chuyển đổi của bạn. Ví dụ:
switch(event.getAction() & MotionEvent.ACTION_MASK){
case MotionEvent.ACTION_DOWN:
some code
break;
case MotionEvent.ACTION_POINTER_DOWN:
ETC
tôi đã giải quyết cùng một vấn đề với điều này:
switch(event.getActionMasked()) {
case MotionEvent.ACTION_POINTER_DOWN:
//your code
break;
}
tôi đã nhận thấy rằng đây (MotionEvent.ACTION_POINTER_DOWN) trường hợp bị sa thải nếu onTouch phương pháp (sự kiện) đã trở lại như đúng như đưa ra dưới đây:
@Override
public boolean onTouchEvent(MotionEvent event) {
switch(motionEvent.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_POINTER_DOWN:
//your code
break ;
}
return true;
}
Lưu ý: MotionEvent.ACTION_DOWN chỉ việc lắng nghe nếu onTouch() phương pháp có r eturned một giá trị boolean là return super.onTouchEvent (event); để đảm bảo đúng như vậy để tránh tình trạng này.
- 1. Ngăn sự kiện nhấp chuột kích hoạt khi sự kiện dblclick kích hoạt
- 2. Lỗi kích hoạt sự kiện tùy chỉnh kích hoạt JQuery
- 3. sự kiện onclick không kích hoạt sau sự kiện onchange
- 4. Sự kiện ASP.Net Session_Start không kích hoạt
- 5. OnCheckedThay đổi sự kiện không kích hoạt
- 6. AjaxFileUpload không kích hoạt Sự kiện OnUploadComplete
- 7. FileSystemWatcher không kích hoạt sự kiện
- 8. Sự kiện mạng Node.js không kích hoạt
- 9. Android: onScrollStateThay đổi SCROLL_STATE_IDLE đôi khi không kích hoạt
- 10. Kích hoạt sự kiện onItemDisclosure gây ra sự kiện itemtap để kích hoạt
- 11. Sự kiện LongClick cũng kích hoạt Sự kiện nhấp
- 12. Sự kiện kích hoạt khi tải hình nền
- 13. Sự kiện JAVAFX được kích hoạt khi chọn hộp kiểm
- 14. kích hoạt sự kiện khi thay đổi lớp học
- 15. Kích hoạt sự kiện khi người dùng điều hướng đi
- 16. Sự kiện CLICK CLICK không kích hoạt (khi chuyển sang di chuột, nó không hoạt động)
- 17. Javascript: Nhiều sự kiện mouseout kích hoạt
- 18. kích hoạt sự kiện "dán" trong Javascript
- 19. Backbone Sự kiện: đăng nhập tất cả các sự kiện khi chúng được kích hoạt
- 20. Socket.io kích hoạt nhiều sự kiện
- 21. Có sự kiện nào kích hoạt khi hoạt ảnh WPF kết thúc không?
- 22. Kích hoạt một sự kiện với Prototype
- 23. Facebook edge.create sự kiện không kích hoạt trên hộp như
- 24. Phím kích hoạt Jquery. Sự kiện mã
- 25. Cpp/Cli Kích hoạt sự kiện
- 26. d3 - kích hoạt sự kiện di chuột
- 27. WebDriver: Thay đổi sự kiện không kích hoạt
- 28. Các sự kiện Jquery .bind được kích hoạt khi chụp sự kiện hoặc bong bóng sự kiện
- 29. XPages - sự kiện onkeypress không kích hoạt bấm đúng
- 30. backbone.js sự kiện xem đơn giản không kích hoạt
Cảm ơn lời khuyên, điều đó sẽ có ích mà tôi chắc chắn. Nhưng tôi không chắc đó là vấn đề của tôi khi nó xảy ra bất kể tôi chạm vào màn hình ở đâu. Sử dụng trình gỡ rối tôi có thể thấy rằng các sự kiện lên xuống có vẻ luôn bị trễ và xảy ra sau một sự kiện di chuyển (và sự kiện di chuyển luôn luôn chỉ có một con trỏ trong cá thể đó). Tôi thậm chí đã thử ứng dụng "Dotty" và có thể thấy hành vi tương tự trong đó. Nó có thể là một vấn đề phần cứng? Tôi có một Evo w/custom ROM. Cảm ơn. – JStew