KeyboardAwareScrollView 具有多个文本输入的额外高度

问题描述 投票:0回答:1

我的屏幕在 KeyboardAwareScrollView 内有 2 个文本输入:

enter image description here

当用户填写文本输入时,底部会出现一个操作按钮:

enter image description here

如果用户填写了所有详细信息,我希望操作按钮始终可见,因此我执行了以下操作:

<View style={{ position: "absolute", bottom: 0, right: 0, left: 0, padding: 20, paddingBottom: 30 }}>
// the button goes here
</View>

问题在于,如果键盘打开,按钮会覆盖最后输入的文本:

enter image description here

所以我在

extraScrollHeight
中添加了
extraHeight
KeyboardAwareScrollView
,如果没有已经聚焦的
textInputs
,它就可以正常工作。

但是,如果已经有一个已聚焦的

textInput
并且用户按下另一个,则不会添加额外的滚动空间。

这意味着如果用户按姓名字段,填写他的姓名,然后按电子邮件字段,

extraScrollHeight
将被忽略。

我的容器如下所示:

<KeyboardAwareScrollView
    {...this.props}
    enableOnAndroid
    extraScrollHeight={80}
    extraHeight={80}>

    {this.props.children}

</KeyboardAwareScrollView>

演示:

enter image description here

react-native
1个回答
0
投票

对于这种情况,您可以使用

KeyboardAvoidingView
而不是
KeyboardAwareScrollView

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