我有一个应用程序是一个Tab活动,其中包含各种加载Activity的选项卡。我想在选项卡控件本身和选项卡中加载的每个活动上添加滑动手势以在选项卡之间切换。这样的事情可能吗?当您在选项卡控件中托管的Activity上进行手势时,或者内部活动必须将数据传递给选项卡主机时,我不确定手势的“深度”是什么。
答案 0 :(得分:3)
这当然是可能的;您需要编写自定义布局并覆盖onTouchEvent和onInterceptTouchEvent以决定是否将手势发送给孩子。有关如何执行此操作的详细信息,请参阅HorizontalPager的来源。你实际上可能只是想直接使用HorizontalPager(有一个关于模拟标签的演示),因为我认为滚动内容使得你可以在标签之间滑动更加清晰。
答案 1 :(得分:2)
您可以使用手势检测器。据我所知,它听“全局”的手势。要将其限制到选项卡,您可以检查手势是否发生在选项卡的边界内。
<强> GestureDetector 强>
检测各种手势和事件 使用提供的MotionEvents。该 GestureDetector.OnGestureListener 回调会在a时通知用户 发生了特定的动作事件。 这个类只能用于 通过触摸报告MotionEvents(不要 用于轨迹球事件)。要用这个 类:
来源:http://developer.android.com/reference/android/view/GestureDetector.html
滑动手势
此页面显示如何使用GestureDetector识别滑动手势: http://smartandroidians.blogspot.com/2010/04/swipe-action-and-viewflipper-in-android.html