类似今日头条详情页,可以有两个Child View,并且这两个Child View都可以垂直滚动,比如 WebView+ListView。
但是也不要求必须是WebView、ListView或ScrollView,可以是任意View。
PairScrollView主要使用canScrollVertically来判断Child View是否滚动到边缘,所以对于需要滚动的View如ListView等不是必须是PairScrollView的Direct Child View,只要这个可滚动的View的ParentView(PairScrollView的直接子View)正确实现了canScrollVertically就可以,可以参考CustomLinearLayout.java。也正因为如此,才允许Child View是任意View,因为canScrollVertically是android.view.View中定义的方法。
一定要是两个Child View吗?只有一个当然也可以,那三个或更多呢?想实现也行,不过由于没用到就没做处理了。
其实对于WebView+ListView的情况把WebView当作ListView的HeaderView也可以,只是ListView就无法正确计算滚动条高度了,如果不需要滚动条显示,这种方式也可以。
如下图,上面是一个WebView,下面是一个LinearLayout,LinearLayout中竖直排列一个LinearLayout和一个ListView,通过layout_weight使滚动到ListView时上面的Toolbar一直显示在屏幕顶部。

