Android 滚动视图中的滚动视图

Android 滚动视图中的滚动视图,android,android-scrollview,Android,Android Scrollview,这可能看起来很奇怪,但我想使用两个嵌套的滚动视图。在某些时候,外部scrollview需要停止滚动,并将所有滚动行为传递给内部scrollview 我的布局看起来像这样 <CustomOuterScrollView> <LinearLayout/> <CustomInnerScrollView/> </CustomOuterScrollView> 对于CustomInnerScrollView,如下所示: @Override

这可能看起来很奇怪,但我想使用两个嵌套的滚动视图。在某些时候,外部scrollview需要停止滚动,并将所有滚动行为传递给内部scrollview

我的布局看起来像这样

<CustomOuterScrollView>
   <LinearLayout/>
   <CustomInnerScrollView/>
</CustomOuterScrollView>
对于CustomInnerScrollView,如下所示:

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

现在,我最大的问题是以下几点。在stopScrolling变量设置为true之后,outerscrollview不再使用事件,而是将它们传递给CustomInnerScrollView。当我调试时,它实际上进入了onInterceptTouchEvent。唯一的问题是InnerScrollView不会滚动。谁有主意?我知道使用嵌套的滚动视图通常不会这样做。但由于设计问题,无法执行其他操作。

也许您应该在onInterceptTouchEvent中区分当前滚动的视图,如果是内部视图,则反转if语句?以获得建议。但是,没有区分所需的滚动视图。outerview需要获得所有滚动行为,直到滚动约50%,然后innerscrollingview开始滚动。好,然后在onInterceptTouchEvent中放入一个if子句,在已经存在的if子句中检查这50%,我想您已经知道如何确定这一点,以及是否达到了这50%——返回super.onInterceptTouchEvent ev;例如,stopScrolling变量确定此状态。那么对于CustomInnerScrollView部分,您不能只返回super.onInterceptTouchEvent ev;而不是真的?我认为这是真的,只是禁用了滚动。
    @Override
public boolean onInterceptTouchEvent( MotionEvent ev )
{
    return true;
}