【问题标题】:Expo react-native trouble with keyboard covering inputExpo react-native 问题与键盘覆盖输入
【发布时间】:2017-07-03 00:02:28
【问题描述】:

当我在我的 Android 设备上以 expo 运行我的应用程序(我没有要测试的 iOS 设备)时,我遇到了键盘覆盖视图中的输入字段的问题。

我已经尝试过 react-native KeyboardAvoidingView 和第三方 react-native-keyboard-aware-scroll-view 但都没有解决问题。

我知道名为 Kitchen Sink 的 Native-Base 演示应用程序中有表单,所以我查看了它,发现 Google Play 商店的版本运行良好。然而,当我查看应用程序的expo version 时,我发现“表单”视图上的“永久地址”字段被键盘覆盖,而它则平滑地滚动到应用程序的 Google Play 版本的视图中。

有人知道为什么 expo 版本不能正常工作吗?有人知道世博会是否通常会在覆盖输入字段的键盘方面遇到困难?

expo有通用解决方案键盘覆盖吗?

【问题讨论】:

    标签: expo


    【解决方案1】:

    我将 NativeBase Kitchen Sink 应用程序更改为具有以下配置。同样的事情适用于任何 Expo 应用程序:

    "expo": {
      "name": "NativeBase Kitchen Sink",
      "description": "Example of NativeBase components",
      "slug": "native-base-kitchen-sink",
      "version": "1.0.0",
      "sdkVersion": "18.0.0",
      "androidStatusBar": {
        "backgroundColor": "#000000"
      }
    }
    

    关键部分是"androidStatusBar""backgroundColor" 集。这将使应用程序的布局在键盘出现时自动调整。

    您可以在以下位置尝试:https://exp.host/@community/native-base-kitchen-sink -- 转到“堆叠标签”示例。您可以查看它的源代码并尝试使用 Create React Native App 运行的演示,地址为https://github.com/brentvatne/StackOverflow44876951

    【讨论】:

    • 非常感谢您!昨晚我在 Slack 和这里询问了这个问题,并在我写完这个问题时得到了关于 Slack 的第一个提示。我不得不匆匆离开,但我今天回来了,你已经给出了完整而完美的答案。这完美地解决了我的问题。我是 react-native 和 expo 的新手,但现在对社区印象深刻。再次感谢您!
    • 谢谢!你刚刚为我节省了几个小时。
    • 非常感谢。我不知道为什么在添加此属性时有效,但它适用于我的情况。在其他人反应原生时,我使用了原生模块,但该模块无法与 Expo 一起使用,这是我的第一个 Expo 应用程序。 ;) 我认为,对于我必须解决的一个问题,你和@brentvatne 是一样的,你在 github Expo repo 中给了我们关键答案。你第二次救了我:)