反应本机 | Android Emulator 没有滚动
React Native | Scroll doesn't happen on Android Emulatour
我有以下代码:
// components
<ScrollView contentContainerStyle={styles.contentContainer}>
<SafeAreaView style={styles.container}>
<Dashboard></Dashboard>
<MainBottomNavBar></MainBottomNavBar>
</SafeAreaView>
</ScrollView>
// styles
contentContainer: {
flexGrow: 1,
},
container: {
marginTop: Platform.OS === 'android' ? StatusBar.currentHeight : 0,
flex: 1,
alignItems: 'center',
},
滚动在 ios 真实设备上完美运行,但是当我尝试在 Android 模拟器上滚动时 - 滚动不会发生。但是,当我重新加载应用程序时,我在屏幕安装时看到了一点移动。所以我猜代码没问题,但问题出在 Android Emulator 上。关于我做错了什么的任何想法?如何使其在 Android 模拟器上也可滚动?
我做了一个小实验并得出以下结论:如果屏幕内容小于屏幕 - 那么 Android 模拟器上的滚动会以某种方式被阻止。但如果您超过屏幕尺寸 - 则滚动开始工作。
Android 没有退回功能,只有 iOS 有:
https://reactnative.dev/docs/scrollview#alwaysbouncevertical-ios
因此android的内容只有在高度大于容器时才会滚动
我有以下代码:
// components
<ScrollView contentContainerStyle={styles.contentContainer}>
<SafeAreaView style={styles.container}>
<Dashboard></Dashboard>
<MainBottomNavBar></MainBottomNavBar>
</SafeAreaView>
</ScrollView>
// styles
contentContainer: {
flexGrow: 1,
},
container: {
marginTop: Platform.OS === 'android' ? StatusBar.currentHeight : 0,
flex: 1,
alignItems: 'center',
},
滚动在 ios 真实设备上完美运行,但是当我尝试在 Android 模拟器上滚动时 - 滚动不会发生。但是,当我重新加载应用程序时,我在屏幕安装时看到了一点移动。所以我猜代码没问题,但问题出在 Android Emulator 上。关于我做错了什么的任何想法?如何使其在 Android 模拟器上也可滚动?
我做了一个小实验并得出以下结论:如果屏幕内容小于屏幕 - 那么 Android 模拟器上的滚动会以某种方式被阻止。但如果您超过屏幕尺寸 - 则滚动开始工作。
Android 没有退回功能,只有 iOS 有:
https://reactnative.dev/docs/scrollview#alwaysbouncevertical-ios
因此android的内容只有在高度大于容器时才会滚动