项目可能要用到京东我的界面效果 网上搜索无果 只好自己写下实现这个效果主要有以下几个问题
1.viewpager在recyclerview里面不显示
2.如何让里面的recyclerview收到事件
第一个问题的原因不详 但是我们可以手动设置viewpager的高度 这里我们可以根据需要算出viewpager的高度进而实现tab栏悬停在顶部的效果
第二个问题比较棘手但是慢慢分析还是可以找到突破口 根据事件分发机制我们知道如果上层view消耗了事件 那么事件是不会传递到下层 所有我们需要让上层的recyclerview不会执行到onTouch方法(recyclerview的onTouch方法返回true)好知道这一点我们就要重写的下层view的Touch方法,观察京东页面效果我们不难发现这里有两个零界点 1.当tab滑动到顶部时 里面的recyclerview才开始滑动 2.当里面的recyclerview可以继续往下滑动的时候外层recyclerview不滑动
根据以上分析我决定自定义一个TabViewPager view它包含一个tab和viewpager 我们重写这个view的Touch方法来解决第二个问题 好的废话不都说上图
网友评论