带有内部ScrollView的垂直ViewPager

3
我已经在我的活动中实现了这个https://dev59.com/32Yr5IYBdhLWcg3wssGP#22797619 (垂直ViewPager)。 我的适配器放置在viewpager中的碎片具有滚动视图。
当我到达滚动视图底部时,它不会在viewpager中切换页面。 但是,如果我从右下角或左下角滑动,它有点起作用,很难解释,但它跳过完整滑动的20-30%(从第1页到第2页),如果我立即释放,它会返回,我也可以继续滑动以继续页面切换。
我认为我的滚动视图是问题所在...
<com.mypackage.MyVerticalViewPager>

片段

<LinearLayout>
    <ScrollView>
       <!-- massive amount of stuff -->
    </ScrollView>
</LinearLayout>

我在这里尝试了一些答案:

https://dev59.com/bGsy5IYBdhLWcg3wsQFj#14435116

编辑:我尝试了这个 https://github.com/castorflex/VerticalViewPager/blob/master/library/src/main/java/fr/castorflex/android/verticalviewpager/VerticalViewPager.java 并使垂直滚动起作用。ScrollView也起作用,但当我到达底部时,我需要真正地快速滑动手指才能到达另一页。我想我必须删除scrollView的某种overscroll。有人有什么想法吗?


你解决了你的问题吗? - Gnanendra Kumar
1个回答

0
使用ListView而不是ScrollView可以解决这个问题。因为ScrollView在其onTouchEvent方法中调用parent.requestDisallowInterceptTouchEvent(true)方法,很难处理滚动冲突。我也在处理这个问题,完成后会提供我的解决方案。

@JonasB 我认为滑动并不是一个好的用户体验,如何让用户知道他应该在想要滚动到下一页时进行滑动。 - Bruce
使用ListView可能会让开发者在UI方面感到困难,但它能带来更好的用户体验。像阿里巴巴旗下拥有约1亿用户的淘宝等知名应用程序都采用了这种解决方案。 - Bruce

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接