我的屏幕在 KeyboardAwareScrollView 内有 2 个文本输入:
当用户填写文本输入时,底部会出现一个操作按钮:
如果用户填写了所有详细信息,我希望操作按钮始终可见,因此我执行了以下操作:
<View style={{ position: "absolute", bottom: 0, right: 0, left: 0, padding: 20, paddingBottom: 30 }}>
// the button goes here
</View>
问题在于,如果键盘打开,按钮会覆盖最后输入的文本:
所以我在
extraScrollHeight
中添加了extraHeight
和KeyboardAwareScrollView
,如果没有已经聚焦的textInputs
,它就可以正常工作。
但是,如果已经有一个已聚焦的
textInput
并且用户按下另一个,则不会添加额外的滚动空间。
这意味着如果用户按姓名字段,填写他的姓名,然后按电子邮件字段,
extraScrollHeight
将被忽略。
我的容器如下所示:
<KeyboardAwareScrollView
{...this.props}
enableOnAndroid
extraScrollHeight={80}
extraHeight={80}>
{this.props.children}
</KeyboardAwareScrollView>
演示:
对于这种情况,您可以使用
KeyboardAvoidingView
而不是 KeyboardAwareScrollView