2011-04-12 175 views
5

我有一個應用程序是一個選項卡活動與加載活動的各種選項卡。我想添加滑動手勢來在標籤之間切換,在標籤控件本身以及在標籤中加載的每個活動。是這樣的可能嗎?我不確定當您在選項卡控件中託管的Activity上做手勢時,或者如果內部活動必須將數據傳遞到Tab主機時,手勢被「聽到」的深度。滑動切換選項卡選擇

回答

3

這當然有可能;您需要編寫自定義佈局並覆蓋onTouchEventonInterceptTouchEvent以決定是否向孩子發送手勢。請參閱HorizontalPager的詳細資料,瞭解如何執行此操作。你實際上可能只是想直接使用Horizo​​ntalPager(有一個模擬標籤的演示),因爲我認爲滾動內容使得它更清晰,你可以在標籤之間滑動。

2

您可以使用手勢檢測器。據我所知,它傾聽「全球」的手勢。要限制它到選項卡,您可以檢查手勢是否出現在選項卡邊界內。

GestureDetector

檢測使用所提供的MotionEvents各種手勢和事件 。手勢檢測器.OnGestureListener 回調會在發生特定運動事件時通知用戶。 此類應僅與 通過觸摸報告MotionEvents(不要使用 用於軌跡球事件)一起使用。要使用此 類:

  • 您的視圖在 nTouchEvent(MotionEvent)方法創建 GestureDetector的實例 確保你叫
  • 的onTouchEvent(MotionEvent)。在回調中定義的 方法將在事件發生 執行

來源:http://developer.android.com/reference/android/view/GestureDetector.html

輕掃手勢

這個頁面展示如何使用GestureDetector承認輕掃手勢: http://smartandroidians.blogspot.com/2010/04/swipe-action-and-viewflipper-in-android.html

+0

這是對GestureDetector有用的信息,但我仍然不確定如何讓手勢檢測流t直至標籤中託管的活動。手勢檢測器僅在沒有被選項卡中的活動佔用的空間中運行。 – 2011-04-12 22:16:09

相關問題