React-Native Scrollview嵌套标签页

新篇传送:React-Native实现头部滑动,TabBar吸附的TabView

一个很常见的UI,不过在RN上好像没有成熟的解决方案,只好自己动手实现。

尝试了很多方案,动画、手势...都有瑕疵,在这里只介绍我认为可用性最高的解决方案。

思路是这样的:scrollview嵌套scrolltabview,通过控制scrollEnabled,来切换滚动权限,实现视差效果。

第一步:基本结构、变量

React-Native Scrollview嵌套标签页_第1张图片
React-Native Scrollview嵌套标签页_第2张图片

第二步:监听scroll事件,记录scrolltabview的contentOffsetY以及控制scroll权限

React-Native Scrollview嵌套标签页_第3张图片

第三部(关键):切换tab页,调整scrollview的contentOffset

防止切换tab,scroll事件不触发,控制当前scrollRef移动内容。

React-Native Scrollview嵌套标签页_第4张图片

大功告成,其实就这么几部,一开始就想到了这个实现方案,只是遗漏了第二步关键点,所以多走了很多弯路。

流畅性马马虎虎,不过勉强能用。。。

你可能感兴趣的:(React-Native Scrollview嵌套标签页)