0

我正在迈出反应本土的第一步,并试图了解软键盘的布局。

我通过 rect-native init 创建了一个新的 react 项目并编写了以下组件:

<ScrollView style={{flex: 1}} contentContainerStyle={{flex: 1, borderColor: 'green', borderWidth: 10}}>
  <TextInput/>
  <View style={{flex: 1, borderColor: 'blue', borderWidth: 10}} />
</ScrollView>

结果看起来符合预期,当我触摸输入字段时,键盘会覆盖我的视图。但是,如果我通过按方形/概览按钮最小化应用程序,然后再次选择应用程序,则视图将调整它的高度,因此键盘不会覆盖视图。

到目前为止,我的发现是: - 这仅发生在 Android 上

  • 仅当存在 scrollView 时才会发生这种情况

  • 在 android 清单中使用 android:windowSoftInputMode 似乎不会影响问题。

  • 我试过 react-native: 0.39.0 / react: 15.4.1 和 react-native: 0.33.0 / react: ~15.3.0 并且两者都存在

  • 然而,它在 rnplay (0.33) 中不可重现:https ://rnplay.org/apps/kr-OQw

  • 我已经尝试过索尼 experia z5compact (android 6.0.1)、nexus 5x 和 samsung Galaxy s6 (android 6.0.1),它全部存在。

我认为最小化后的调整大小是一个错误,还是我在这里遗漏了什么?这个问题有解决方法吗?

问题记录(抱歉质量和不幸的循环

4

1 回答 1

3

默认的 android:windowSoftInputMode 是 adjustUnspecified 导致这个问题。

如果您设置 android:windowSoftInputMode:"adjustResize" (根据文档,这是所需的方式),您可以一直调整屏幕大小。

你也可以关注我为 react-native 打开的bug 。

于 2016-12-06T08:49:13.287 回答