2011-04-12 41 views
5

Tôi có một ứng dụng là hoạt động Tab với các tab khác nhau tải Hoạt động. Tôi muốn thêm cử chỉ vuốt để chuyển đổi giữa các tab, trên cả chính tab điều khiển và từng hoạt động được tải trong tab. Có phải bất cư thứ gì như thế này đều được? Tôi không chắc chắn về những gì "chiều sâu" cử chỉ được nghe khi bạn đang thực hiện các cử chỉ trên một Hoạt động được lưu trữ trong điều khiển tab hoặc nếu các hoạt động bên trong sẽ phải chuyển dữ liệu đến Máy chủ tab.Vuốt để chuyển đổi lựa chọn tab

Trả lời

3

Chắc chắn là có thể; bạn sẽ cần phải viết bố cục tùy chỉnh và ghi đè onTouchEventonInterceptTouchEvent để quyết định có gửi cử chỉ cho trẻ em hay không. Xem nguồn của HorizontalPager để biết chi tiết về cách bạn có thể thực hiện điều đó. Bạn thực sự có thể chỉ muốn sử dụng HorizontalPager thẳng lên (có một bản demo trên mô phỏng các tab với nó), như tôi nghĩ rằng nội dung di chuyển làm cho nó rõ ràng hơn nhiều mà bạn có thể vuốt giữa các tab.

2

Bạn có thể sử dụng thiết bị dò cử chỉ. Theo như tôi biết nó lắng nghe những cử chỉ "toàn cầu". Để hạn chế nó vào tab, bạn có thể kiểm tra xem cử chỉ đã xảy ra bên trong ranh giới của tab hay chưa.

GestureDetector

Phát hiện cử chỉ khác nhau và các sự kiện sử dụng MotionEvents cung cấp. Số gọi lại GestureDetector.OnGestureListener sẽ thông báo cho người dùng khi xảy ra sự kiện chuyển động cụ thể . Lớp này chỉ nên được sử dụng với MotionEvents được báo cáo qua liên lạc (không sử dụng cho các sự kiện chơi bóng). Để sử dụng lớp này:

  • Tạo một thể hiện của các GestureDetector cho Xem bạn Trong phương pháp nTouchEvent (MotionEvent) đảm bảo bạn gọi
  • onTouchEvent (MotionEvent). Các phương pháp quy định tại callback của bạn sẽ được thực thi khi sự kiện xảy ra

Nguồn: http://developer.android.com/reference/android/view/GestureDetector.html

Swipe Gesture

Trang này cho thấy làm thế nào để nhận ra một swipe cử chỉ bằng cách sử dụng GestureDetector: http://smartandroidians.blogspot.com/2010/04/swipe-action-and-viewflipper-in-android.html

+0

Đây là thông tin hữu ích về GestureDetector, nhưng tôi vẫn không chắc chắn cách có luồng phát hiện cử chỉ t hrough cho các Hoạt động được lưu trữ trong các tab. Trình khám phá cử chỉ chỉ hoạt động trong không gian không hoạt động trong một tab. –

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