我有一个VerticalViewPager
,其中每个子片段都包含类似
<MyScrollView>
<LinearLayout orientation=vertical>
...
...
</LinearLayout>
</MyScrollView>
当
MyScrollView
滚动到底部时,我希望VerticalViewPager
发挥作用并发挥作用。同样,如果我将MyScrollView
滚动到最顶部。我已经做了很多尝试来拦截
ScrollView
中的触摸事件,从而以某种方式将MotionEvent
分配给VerticalViewPager
,而没有任何好运。这显然是行不通的,但是为了使对话顺利进行,我目前在
MyScrollView
中执行以下操作override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean {
return super.onInterceptTouchEvent(ev) && atBottom
}
override fun onScrollChanged(l: Int, t: Int, oldl: Int, oldt: Int) {
atBottom = getChildAt(0).bottom <= (height + scrollY)
super.onScrollChanged(l, t, oldl, oldt)
}
这是摇摇欲坠和不可信任的,而且根本不可行。任何输入,不胜感激!
最佳答案
解决方案可能与这里的解决方案非常相似:
(原始答案适用于Webview,但逻辑相同)
Scroll webview horizontally inside a ViewPager
关于android - 将触摸事件从ScrollView委托(delegate)给垂直ViewPager,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49238797/