在Android中的ViewPager中禁用ScrollView的触摸事件

时间:2013-05-30 08:45:27

标签: android touch android-viewpager scrollview

我将ScrollViews作为ViewPager的页面。我想完全禁用该ViewPager的触摸事件。当我在ViewPager类上覆盖onTouchEvent时,我只设法阻止水平滚动而不是滚动子ScrollViews。

如何为ViewPager及其中的所有ScrollView完全禁用触摸事件?

这只是我的概念证明。下一步是阻止仅对该ViewPager的某些部分进行滚动。

1 个答案:

答案 0 :(得分:1)

覆盖scrollview的onInterceptTouchEvent以使用或忽略该事件:

“返回true以从子节点窃取运动事件并通过onTouchEvent()将它们分派到此ViewGroup。当前目标将收到ACTION_CANCEL事件,此处不会再传递任何消息。”

public class InterceptScrollView extends ScrollView {

public InterceptScrollView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    return false;
}

}