PairScrollView
PairScrollView copied to clipboard
类似今日头条详情页,可以有两个Child View,并且这两个Child VIew都可以垂直滚动,比如WebView+ListView,但对Child View没有限制。
PairScrollView
类似今日头条详情页,可以有两个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
就无法正确计算滚动条高度了,如果不需要滚动条显示,这种方式也可以。
Examples
如下图,上面是一个WebView
,下面是一个LinearLayout
,LinearLayout
中竖直排列一个LinearLayout
和一个ListView
,通过layout_weight
使滚动到ListView时上面的Toolbar一直显示在屏幕顶部。