Trình phát hiện cử chỉ được tối ưu hóa để nhận dạng các cử chỉ chạm cho bàn di chuột.
Có các trình nghe cử chỉ riêng biệt (ví dụ: GestureDetector.BaseListener
, GestureDetector.FingerListener
) và trình nghe cử chỉ liên tục (ví dụ: GestureDetector.ScrollListener
, GestureDetector.OneFingerScrollListener
, GestureDetector.TwoFingerScrollListener
).
Để biết thêm thông tin, hãy xem hướng dẫn dành cho nhà phát triển về Cử chỉ nhấn.
Cách sử dụng chung
- Triển khai mọi giao diện trình nghe mong muốn và đặt các giao diện này trên
GestureDetector
. - Ghi đè lệnh gọi lại sự kiện đầu vào như
onGenericMotionEvent(MotionEvent)
hoặcdispatchGenericFocusedEvent(MotionEvent)
và truyềnMotionEvent
đến phương thứconMotionEvent(MotionEvent)
của trình phát hiện cử chỉ để xử lý sự kiện. - Xử lý sự kiện đúng cách trong trình nghe trình phát hiện cử chỉ.
Lưu ý: Khi triển khai các phương thức
onXXX
cho trình nghe, hãy chỉ đặt giá trị trả về thànhtrue
nếu bạn không muốn gửiMotionEvent
đến bất kỳ thực thể nghe nào khác trong quy trình điều phối đầu vào.
Các lớp lồng ghép | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
giao diện | GestureDetector.BaseListener | Nhận kết quả phát hiện. | |||||||||
giao diện | GestureDetector.FingerListener | Trình nghe này báo cáo khi số lượng ngón tay được phát hiện thay đổi trên bàn di chuột. | |||||||||
giao diện | GestureDetector.OneFingerScrollListener | Trình nghe này nhận các sự kiện cuộn ngang liên tục bằng một ngón tay. | |||||||||
giao diện | GestureDetector.ScrollListener | Trình nghe này nhận các sự kiện cuộn ngang liên tục, không phụ thuộc vào số lượng ngón tay. | |||||||||
giao diện | GestureDetector.HaiFingerScrollListener | Trình nghe này nhận các sự kiện cuộn ngang liên tục bằng hai ngón tay. |
Công ty xây dựng công cộng | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Phương thức công khai | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
boolean tĩnh | |||||||||||
boolean tĩnh |
isTiến(float deltaX)
|
||||||||||
boolean |
onMotionEvent(sự kiện MotionEvent)
|
||||||||||
GestureDetector |
setAlwaysConsumeEvents(đã bật boolean)
|
||||||||||
GestureDetector |
setBaseListener(trình nghe GestureDetector.BaseListener)
|
||||||||||
GestureDetector |
setFingerListener(Trình nghe GestureDetector.FingerListener)
|
||||||||||
GestureDetector | |||||||||||
GestureDetector |
setScrollListener(GestureDetector.ScrollListener) trình nghe)
|
||||||||||
GestureDetector |
Các phương thức kế thừa | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Công ty xây dựng công cộng
Phương thức công khai
public static boolean isTiến (cử chỉ Cử chỉ)
Trả về true
nếu cử chỉ đã cho tương ứng với chuyển động tiến trên bàn di chuột.
Phương thức này chỉ có nghĩa khi vuốt sang bên và gửi ngoại lệ nếu được gọi trên các cử chỉ khác.
public static boolean isTiến (float deltaX)
Trả về true
nếu vị trí đã cho tương ứng với chuyển động tiến trên bàn di chuột.
public boolean onMotionEvent (sự kiện MotionEvent)
Xử lý một sự kiện chuyển động, trả về true
nếu các sự kiện phải luôn được sử dụng hoặc nếu
một cử chỉ được phát hiện.
Trả về
- phản ánh sự kiện chạm có được sử dụng hay không
public GestureDetector setAlwaysConsumeEvents (boolean enabled)
Đặt liệu trình phát hiện cử chỉ có cần sử dụng các sự kiện được chuyển đến
onMotionEvent(MotionEvent)
hay không, bất kể các sự kiện đó đã được xử lý hay chưa.
công khai GestureDetector setBaseListener (GestureDetector.BaseListener trình nghe)
Đặt trình nghe cử chỉ cơ bản.
công khai GestureDetector setFingerListener (GestureDetector.FingerListener trình nghe)
Đặt trình nghe ngón tay.
công khai GestureDetector setOneFingerScrollListener (GestureDetector.OneFingerScrollListener trình nghe)
Đặt trình nghe phát hiện thao tác cuộn theo chiều ngang và một ngón tay.
công khai GestureDetector setScrollListener (GestureDetector.ScrollListener trình nghe)
Đặt trình nghe phát hiện thao tác cuộn ngang độc lập với số lượng ngón tay.
công khai GestureDetector setHaiFingerScrollListener (GestureDetector.HaiFingerScrollListener trình nghe)
Đặt trình nghe phát hiện thao tác cuộn theo chiều ngang và hai ngón tay.