React Native中如何关闭ScrollView滑动后自动回弹到初始位置的功能
出现滑动后自动回弹复位的核心原因是你给外层封装了ScrollView能力的Container组件开启了分页滚动属性pagingEnabled={true},该属性的作用就是让滚动视图在滑动结束后自动对齐到整页边界,也就是你看到的回弹效果。
解决方法
直接将Container组件的pagingEnabled属性改为false即可,修改后滚动视图会停在你滑动结束的位置,不会自动复位。
修改后的代码示例:
<Container pagingEnabled={false} enableResetScrollToCoords={false} contentContainerStyle={{ flex: 1, display: "flex", flexDirection: "column", justifyContent: "flex-end", alignItems: "center", }} style={{ paddingBottom: insets.bottom }} > {/* 其余内部组件代码保持不变 */} </Container>
补充说明
如果修改后依然存在回弹效果:
- 检查内部的
MessageList组件是否嵌套了ScrollView,且也开启了pagingEnabled属性 - iOS端可以额外给
Container添加bounces={false}属性,关闭系统默认的边缘弹性回弹效果,安卓端无需配置该属性。
内容的提问来源于stack exchange,提问作者Roger Staxx
相关产品推荐
相关产品推荐

