React native “如何使React成为本地产品”;“滚动至”;当ScrollView较小时,Android上的行为与iOS上的行为相同
考虑一下React native “如何使React成为本地产品”;“滚动至”;当ScrollView较小时,Android上的行为与iOS上的行为相同,react-native,React Native,考虑一下 在iOS上,单击文本会将文本移到顶部,因为scrollTo({y:250})即使到达scrollView的末尾也会滚动 在Android上,文本不会移动 如何在Android上实现与iOS相同的行为?您可以通过向滚动视图的contentContainerStyle添加填充来解决这个问题。一个好的起点是添加与设备屏幕高度相等的填充 import { Dimensions } from 'react-native'; const ANDROID_SCREEN_HEIGHT_PADDIN
- 在iOS上,单击文本会将文本移到顶部,因为
即使到达scrollView的末尾也会滚动scrollTo({y:250})
- 在Android上,文本不会移动
如何在Android上实现与iOS相同的行为?您可以通过向
滚动视图的contentContainerStyle
添加填充来解决这个问题。一个好的起点是添加与设备屏幕高度相等的填充
import { Dimensions } from 'react-native';
const ANDROID_SCREEN_HEIGHT_PADDING = Dimensions.get('window').height;
然后,渲染时:
<ScrollView
contentContainerStyle={{paddingBottom: ANDROID_SCREEN_HEIGHT_PADDING}}>
...
</ScrollView>
...
您可以在各个方向上使用此功能进行必要的额外Android填充。例如,如果您使用的是horizontal={true}
,则可以添加与屏幕宽度相等的填充,并将其添加到paddingLeft
样式属性中,以在Android上获得预期的滚动行为
这种行为是由于在Android上以React Native实现了ScrollView
。另见: