2013-07-03 25 views
5

Tôi đang nhân rộng ứng dụng IOS của mình mà sử dụng rất nhiều Pan Gesture Recognizer cho Android và tôi không thể tìm thấy tương tự Trình nhận dạng cử chỉ. Có điều đó không?Pan Gesture Recognizer cho Android?

bất kỳ hướng nào được đánh giá cao nhờ

Trả lời

4

Tôi nghĩ rằng những gì bạn đang tìm kiếm là GestureDetector. Tôi không quen thuộc với Pan Gesture Recognizer của iOS, nhưng tôi nghĩ nó không hoạt động chính xác theo cùng một cách trong Android. Xem chủ đề hướng dẫn dành cho nhà phát triển Using Touch Gestures để biết thông tin về cách sử dụng lớp học.

4

Android ra khỏi hộp với hai lớp nhận ra cử chỉ. Một là GestureDetector và một là ScaleGestureDetector.

Không giống như ios, khung dò cử chỉ cơ bản bị giới hạn - bạn không thể chỉ định phụ thuộc, giải quyết xung đột hoặc định cấu hình chúng bằng cách chỉ định điểm tiếp xúc, v.v.

Để trả lời câu hỏi của bạn, có thể phát hiện chảo bằng GestureDetector. Dưới đây là một đoạn trích:

PanGestureListener listener = new PanGestureListener(); 
GestureDetector detector = new GestureDetector(context, listener); 

class PanGestureListener extends GestureDetector.SimpleOnGestureListener { 

    @Override 
    public boolean onScroll(MotionEvent e1, 
          MotionEvent e2, 
          float distanceX, 
          float distanceY) { 

     //YOUR "pan handler" 
     return true; 
    } 

} 

Bây giờ trong phương pháp onTouch bạn chỉ cần chuyển tiếp tất cả các cuộc gọi đến detector.onTouch như thế này:

@Override 
    public boolean onTouchEvent(MotionEvent event) { 
     detector.onTouchEvent(event); 
     return true; 
    } 
+2

Làm thế nào thêm chảo cử chỉ để xem cụ thể? trong trường hợp của tôi là bố cục tương đối – jose920405

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