前言: react native 实现微信读书卡片滑动效果,卡片可以滑动切换,同时滑动后两侧留出部分相邻卡片视图。刚开始接到这个需求的时候,开始查找一些轮播图组件、通过ScrollView pagingEnabled + onScrollEndDrag (安卓上有时候不触发)控制滑动位置,效果都不太理想。后面经过实践,发现只要理解清楚
ScrollView 的pagingEnabled,该效果实现起来很简单。
pagingEnabled 文档说明是这样的“
当值为true时,滚动条会停在滚动视图的尺寸的整数倍位置。”,这里的“
滚动视图的尺寸的整数倍位置”并不好理解。经实践发现,就是如下图,红色部分通过padding,使
ScrollView 的宽度只有如图蓝色部分那么宽,让后你每一次滚动,滚动的宽度都会是蓝色部分的宽度。