在我的应用程序中,有多个显示对话框的情况。当用户应该输入邮件地址并且格式错误时,将在门户内打开react-native-paper对话框。
<Portal>
<KeyboardAvoidingView behavior={'padding'} style={{flex: 1}}>
<SafeAreaView style={{flex: 1}}>
<Dialog>
[...]
当对话框出现,然后键盘打开,一切都向上移动,它工作正常!当键盘已经打开并出现对话框时,对话框将在键盘后面打开。任何想法如何修复?
我上传了一段视频来展示这种行为:https://streamable.com/zwin42
已经尝试了位置和高度作为行为,但它没有工作以及。
这只发生在iOS上!Android工作正常!
1条答案
按热度按时间3zwtqj6y1#
这就是我们的工作
1.我们需要创建一个钩子,告诉我们键盘将隐藏(我们稍后会需要它):
1.接下来,我们需要创建一个钩子,它将返回我们的动画
marginBottom
样式(用于平滑的布局更改):Keyboard.isVisible();
确定键盘已经可见;Keyboard.metrics()
获取键盘高度;marginBottom
=keyboard height
1.使用`Animated.View使布局动画更加人性化: