2011-02-10 36 views
10

Chúng tôi đang phát triển một ứng dụng mà chúng tôi cần phải nắm bắt MotionEvents từ nhiều chế độ xem cùng một lúc. Khi chúng tôi cố gắng làm như vậy, Android chỉ gửi các sự kiện đến chế độ xem được chạm đầu tiên và khi chạm vào một chế độ xem khác cùng lúc, nó chỉ cho phép ACTION_POINTER_DOWN ở chế độ xem đầu tiên, ngay cả khi tọa độ con trỏ nằm ngoài giới hạn của nó và bên trong các chế độ xem khác ' .Nhiều lượt xem OnTouch Sự kiện

Có cách nào để chúng tôi có thể nhận sự kiện được gửi đến mọi chế độ xem được chạm (trong các cuộc gọi riêng đến OnTouch) không?

Chúng tôi tin rằng việc chặn các sự kiện chạm từ chế độ xem gốc và sau đó gửi chúng đến từng chế độ xem có thể hiệu quả, nhưng ngay cả khi có, nó sẽ không thực tế cho những gì chúng tôi đang cố gắng đạt được. Có cách nào dễ hơn không?

Trả lời

6

Sự kiện chạm được bắt đầu bằng chế độ xem hiện tại đang được lấy nét. Nếu bạn chạm vào 1 chế độ xem và có sự kiện "đã tiêu thụ" và đang làm việc với sự kiện đó, mọi sự kiện khác sẽ được gửi đến chế độ xem này, bất kể bạn nhấp vào ở đâu.

Nếu bạn trả về false từ touchListener của bạn (do đó nói rằng sự kiện đó không được tiêu thụ), nó sẽ được chuyển xuống các chế độ xem khác, nhưng trên một sự kiện mới khác, nhấp chuột sẽ được gửi đến chế độ xem khác.

http://www.zdnet.com/blog/burnette/how-to-use-multi-touch-in-android-2-part-3-understanding-touch-events/1775

http://developer.android.com/guide/topics/ui/ui-events.html

+1

Tôi gặp sự cố tương tự, tức là chế độ xem được lấy nét sẽ được di chuyển nếu tôi chạm vào bất kỳ nơi nào trên màn hình, bạn có thể giúp tôi với điều này không? –

10

Ít nhất Android 3.0 thêm hỗ trợ cho các sự kiện tách liên lạc giữa nhiều lần xem.

Sự kiện chạm được chia theo mặc định khi AndroidManifest <uses-sdk> xác định hoặc android:minSdkVersion="11" hoặc android:targetSdkVersion="11". Để được giải thích Xem android:splitMotionEventsandroid:windowEnableSplitTouch

0

Trong khi điều này sẽ hoạt động tự động với Android SDK 11+, nó không hoạt động cho ứng dụng của tôi. Tôi đã cố gắng để nắm bắt chạm trong một cái nhìn chính, cộng với một số quan điểm đã được xem xét lại của quan điểm chính; trong trường hợp đó, các lần chạm chỉ được chụp bằng "cấp độ" đã nhận được lần chạm đầu tiên. Tôi đã tổ chức lại cấu trúc khung nhìn của mình để tất cả các khung nhìn đều là anh chị em và bây giờ họ đang nắm bắt các sự kiện như mong đợi.

Các vấn đề liên quan