在Android设备上反应原生嵌套ScrollView无法滚动

问题描述 投票:3回答:5

我有关于Android设备上嵌套scrollview的问题,但是IOS OK

如何解决有关B scrollview无法滚动的问题?

<ScrollView>  // A ScrollView
    <View><Text>Hello</Text></View> 
    <View><Text>Hello</Text></View> 
    <View><Text>Hello</Text></View> 
    <View><Text>Hello</Text></View> 
    <View>       
        <ScrollView> // B ScrollView
            <View><Text>Hello</Text></View>         
            <View><Text>Hello</Text></View>         
            <View><Text>Hello</Text></View>          
            <View><Text>Hello</Text></View>      
        </ScrollView> 
    </View>
</ScrollView>
javascript reactjs react-native
5个回答
9
投票

如果API 21作为最小目标是一个选项,您可以升级到react-native 0.56.x并尝试new prop nestedScrollEnabled

注意:它用于子滚动视图,即

<ScrollView {...parentProps}>
  <ScrollView {...childProps} nestedScrollEnabled={true}>
  </ScrollView>
</ScrollView>

2
投票

当你在android中运行app时,React-native ScrollView组件使用Android ScrollView

默认情况下,Android ScrollView不支持嵌套滚动。你需要使用NestedScrollView来实现android中的嵌套滚动。


1
投票

将“nestedScrollEnabled = {true}”属性添加到内部ScrollView,它将按预期工作。



0
投票

在ScrollView中,将contentContainerStyle的样式设置为flex: 1

<ScrollView>  // A ScrollView
    <View><Text>Hello</Text></View> 
    <View><Text>Hello</Text></View> 
    <View><Text>Hello</Text></View> 
    <View><Text>Hello</Text></View> 
    <View>       
        <ScrollView contentContainerStyle={{flex:1}}> // B ScrollView
            <View><Text>Hello</Text></View>         
            <View><Text>Hello</Text></View>         
            <View><Text>Hello</Text></View>          
            <View><Text>Hello</Text></View>      
        </ScrollView> 
    </View>
</ScrollView>

它在android上对我有用。请告诉我它是否适合您。

© www.soinside.com 2019 - 2024. All rights reserved.