2011-04-12 133 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

相关问题