React Native:显示键盘后更新应用布局

Mic*_*ura 12 keyboard android react-native

我正在努力解决键盘将应用程序推到视图之外的常见问题.

android:windowSoftInputMode ="adjustResize"设置不起作用.

现在我用手按键调整视图大小如下:

keyboardWillShow(e) {
    setTimeout(()=> {
        this.keyboardOffset = e.endCoordinates.height;
    }, 500)
}

keyboardWillHide(e) {
    this.keyboardOffset = 0;
}

///...

const resultingHeight = windowHeight - this.keyboardOffset - Navigator.NavigationBar.Styles.General.TotalNavHeight;

viewStyle = {
   height: resultingHeight
};
Run Code Online (Sandbox Code Playgroud)

这几乎可行.但我的问题是应用程序被推到视图之外,然后keyboardWillShow被解雇并调整视图大小正确,然后没有任何反应.显示键盘后,Android不会更新布局.

在此输入图像描述

编辑:SO上的其他帖子没有帮助,因为adjustResize设置不起作用,我使用react-native而不是本机android.

Bra*_*ugh 3

如果我记得的话,keyboardwillShowkeyboardWillHide 没有在 Android 上被解雇

此行为应该是 Android 本机的,您是否尝试按如下方式设置 windowSoftInputMode 并且不监听事件?

android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)

如果这不适合您,您可以看看KeyboardAvoidingView, new with 0.34. 它似乎正在解决你试图完成的事情。

它是一个解决视图需要移出虚拟键盘的常见问题的组件。它可以根据键盘的位置自动调整其位置或底部填充。

键盘避免查看文档