React-Native - KeyboardAvoidingView - 错误

时间:2017-06-07 19:07:37

标签: javascript reactjs react-native

我使用keyboardAvoidingView来显示输入并使用下一个焦点。但是,当我点击第一个输入(打印标签1623 - Acidez)时,这是隐藏的。如何展示这个?

enter image description here enter image description here

<ReactNative.View key={this.state.selectedTabIndex}>
                <ReactNative.ScrollView style={{ height: this.props.styles.height - 40 }}>

                    <ReactNative.KeyboardAvoidingView
                        keyboardVerticalOffset={0}

                        behavior="position"
                        contentContainerStyle={{ paddingTop: this.state.size }}
                    >
                        {this.tabs[this.state.selectedTabIndex].render()}
                    </ReactNative.KeyboardAvoidingView>

                </ReactNative.ScrollView>
            </ReactNative.View>

2 个答案:

答案 0 :(得分:1)

如果你将'keyboardVerticalOffset'增加到更大的值,如KeyboardAvoidingView的'100'更大的数量,它将从键盘向上滚动,从而避免它。我也花了很多时间在互联网上找到正确的解决方案,但最后我自己弄明白了对于'react-native'版本'0.50.4'。我让它像这样工作

<View style={…..}>
      <ScrollView>
         <KeyboardAvoidingView style={{ flex: 1 }}
            keyboardVerticalOffset={100} behavior={"position"}>

        </KeyboardAvoidingView>
      </ScrollView>
 </View>

答案 1 :(得分:0)

keyboardVerticalOffset应该是屏幕顶部和KeyboardAvoidingView顶部之间的距离。如果您使用的是Flex,则该数字会有所不同,具体取决于您正在查看应用程序的设备的大小。

我发现的最简单的方法是使用KeyboardAvoidingView简单地包装整个页面。通过将其作为顶级包装器,您将不必担心keyboardVerticalOffset。

从那里尝试三个行为选项,直到获得有用的东西为止。