Đôi khi, tuy nhiên, bạn có thể cần phải xử lý một sự kiện Touch. Để làm điều đó, bạn thực hiện các OnTouchListener đó là lồng trong lớp View và lắng nghe đó để bất kỳ widget khi học lập trình android. Trong mã dưới đây, các phương pháp onTouch bao gồm mã mà sẽ gửi dữ liệu đến xem logcat. Khi người dùng chạm vào một widget trên một thiết bị màn hình cảm ứng, một sự kiện cảm ứng xảy ra trên các widget. Hầu hết thời gian, bạn không cần phải biết làm thế nào để xử lý sự kiện này. Thay vào đó, bạn có thể sử dụng sự kiện khác như một sự kiện Click để có được ứng dụng của bạn để làm việc theo cách bạn muốn. Xử lý cho sự kiện Touch event Code: @Override public boolean onTouch(View v, MotionEvent event) { float downX, downY, upX, upY; int action - event.getActionO; if (action ““ MotionEvent.ACTION_DOWN) { Log.d("MotionEvent", "ACTION_DOWN"); downX - event.getXO; downY = event.getYO; Log.d ("MotionEvent", "downX = " + downX); Log.d ("MotionEvent", "downY = " + downY); return true; } else if (action == MotionEvent.ACTION_UP){ Log.d("MotionEvent", "ACTlON_UP"); upX = event.getXO; upY - event.getYO; Log.d ("MotionEvent", "upX = " + upX); Log.d ("MotionEvent", "upY = " + upY); return true; } else ( return false; } Trong phương pháp onTouch, phát biểu đầu tiên tuyên bố bốn biến phao cho các giá trị X và Y khi người dùng nhấn xuống và nhấc lên. Sau đó, câu lệnh thứ hai được một giá trị int cho các loại MotionEvent hành động đã xảy ra. Tiếp theo, một tuyên bố nếu so sánh giá trị int này cho một số hằng số của lớp MotionEvent để xác định loại sự kiện xảy ra. Nếu người dùng nhấn xuống, nếu tuyên bố đặt các giá trị của các biến downX và downY. Sau đó, nó sẽ gửi các biến vào xem ở Logcat. Những giá trị X và Y chỉ ra vị trí của các liên lạc xuống trên trục ngang và dọc của widget. Nếu người sử dụng thang máy lên, nếu tuyên bố đặt các giá trị của các biến UPX upY. Sau đó, nó sẽ gửi các biến vào xem Logcat. Mặc dù loại khai thác gỗ không thực hiện một công việc hữu ích, nó rất hữu ích khi bạn mới bắt đầu với sự kiện Touch. Giống như phương pháp onKey, phương pháp onTouch trả về một giá trị Boolean cho biết liệu phương pháp này đã được tiêu thụ các sự kiện. Trong hình này, các phương pháp onTouch trả về giá trị true nếu người dùng nhấn xuống hoặc nâng lên để chỉ ra rằng nó đã tiêu thụ các sự kiện. Tuy nhiên, đối với tất cả các hành động cảm ứng khác, phương pháp này trả về giá trị false để chỉ ra rằng nó đã không tiêu thụ các sự kiện và các yếu tố khác có thể tiếp tục xử lý sự kiện này. Khi người dùng chạm vào màn hình và di chuyển cảm ứng, nó là phổ biến mà các thiết bị không thể xử lý các sự kiện một cách nhanh chóng đủ. Trong trường hợp đó, Android lưu trữ các sự kiện Touch trong một lô. Sau đó, nếu cần thiết, bạn có thể sử dụng "History" phương pháp của đối tượng MotionEvent để truy cập các sự kiện Touch. Để bắt đầu, bạn có thể sử dụng phương pháp getHistorySize để có được số lượng sự kiện Touch trong hàng loạt. Sau đó, bạn có thể tạo ra một vòng lặp mà vòng qua những sự kiện này, và bạn có thể sử dụng các phương pháp getHistoricalX và getHistoricalY để có được các giá trị X và Y đối với mỗi sự kiện. >>Xem thêm : Khóa học lập trình android cơ bản nâng cao tại hà nội ! Một số hằng số của lớp MotionEvent Hằng số Mô tả ACTION_DOWN Sự bắt đầu của cảm ứng. ACTIONMOVE Các hình cảm ứng đã chuyển giữa xuống và đi lên hành động. ACTIONUPSự kết thúc của cảm ứng. Một số phương pháp của lớp MotionEvent Phương thức Mô tả getActionOLấy một giá trị int cho các loại hành động. GetXOLấy một giá trị float cho vị trí của trục X của cảm ứng. getYOLấy một giá trị float cho vị trí của trục Y của cảm ứng. getHistorySize () Số lượng các sự kiện lịch sử. getHistoricalX (int i) Lấy một giá trị float cho trục X tại vị trí xác định các giá trị lịch sử được lưu trữ. getHistoricalY (int i)Lấy một giá trị float cho trục Y tại vị trí xác định các giá trị lịch sử được lưu trữ.