Tìm hiểu về các sự kiện touch trong Android

Một phần của tài liệu tìm hiểu về android (Trang 52 - 53)

Bất cứ khi nào lần đầu tiên tôi tìm hiểu một API mới, tôi muốn đặt đầu tiên trong mã số để đổ tất cả mọi thứ vì vậy tôi có thể nhận được một cảm giác về những gì các phương pháp làm và trong những sự kiện gì để xảy ra. Vì vậy, hãy bắt đầu với điều đó. Thêm đầu một cuộc gọi đến

dumpEvent() phương pháp bên trong onTouch(): Từ Touchv1/src/org/example/touch/Touch.java: @Override

public boolean onTouch(View v, MotionEvent event) { // Dump touch event to log

dumpEvent(event);

return true; // indicate event was handled }

Lưu ý rằng chúng ta cần phải trả về đúng với chỉ số cho Android rằng sự kiện này đã được xử lý. Tiếp theo, xác định các method dumpEvent(). Các tham số chỉ là sự kiện mà chúng ta muốn dump.

Từ Touchv1/src/org/example/touch/Touch.java:

/** Show an event in the LogCat view, for debugging */ private void dumpEvent(MotionEvent event) {

String names[] = { "DOWN" , "UP" , "MOVE" , "CANCEL" , "OUTSIDE" , "POINTER_DOWN" , "POINTER_UP" , "7?" , "8?" , "9?" };

StringBuilder sb = new StringBuilder(); int action = event.getAction();

int actionCode = action & MotionEvent.ACTION_MASK; sb.append("event ACTION_" ).append(names[actionCode]); if (actionCode == MotionEvent.ACTION_POINTER_DOWN || actionCode == MotionEvent.ACTION_POINTER_UP) { sb.append("(pid " ).append( action >> MotionEvent.ACTION_POINTER_ID_SHIFT); sb.append(")" ); } sb.append("[" );

sb.append("#" ).append(i);

sb.append("(pid " ).append(event.getPointerId(i)); sb.append(")=" ).append((int) event.getX(i)); sb.append("," ).append((int) event.getY(i)); if (i + 1 < event.getPointerCount()) sb.append(";" ); } sb.append("]" ); Log.d(TAG, sb.toString()); }

Kết quả sẽ đi đến các bản ghi gỡ lỗi Android, bạn có thể nhìn thấy bằng cách mở xem LogView. Cách dễ nhất để hiểu đoạn mã này là để chạy nó. Thật không may bạn không thể chạy chương trình trên Emulator (thực ra bạn có thể, nhưng các Emulator không hỗ trợ đa cảm ứng như vậy kết quả sẽ không được rất thú vị). Vì vậy, hãy làm với một điện thoại thực sự với cổng USB của bạn và chạy các mẫu có.

Một phần của tài liệu tìm hiểu về android (Trang 52 - 53)