4

我正在使用库 - https://github.com/osdnk/react-native-reanimated-bottom-sheet

TextInput在这张底片上使用了一个。现在,当文本输入被聚焦或输入时,底部工作表应该保持在相同的位置。它适用于 iOS,如下图所示。

在此处输入图像描述

当我将文本输入集中在 Android 上时,底部工作表会随着键盘向上移动,如下面的 2 个屏幕截图所示。

(Android 中的底页没有重点)

在此处输入图像描述

(以 Android 为重点的底页)

在此处输入图像描述

我也尝试过将我的底部床单KeyboardAvoidingView和相应的道具包裹在里面,但它没有用。

4

3 回答 3

1

我使用Expo Kit 38在我的项目中解决了同样的问题

只需将其添加到您的 app.json 文件中:

"android": {
  "softwareKeyboardLayoutMode": "pan"
}

以下是将您的应用从 37.0.0 升级到 Expo SDK 38.0.0 的方法:

  1. 通过运行更新 expo-clinpm i -g expo-cli
  2. expo upgrade在你的项目目录中运行

您可能需要查看文档以获取更多详细信息

于 2020-06-26T19:01:06.877 回答
0

android:windowSoftInputMode="adjustPan"在 AndroidManifest.xml 中使用有效!:D

于 2020-04-06T10:32:37.667 回答
0

将设备屏幕设置height为您BottomSheet的父容器。示例代码:

import BottomSheet from 'reanimated-bottom-sheet'
import { View as Container, Dimensions } from 'react-native'

const { height } = Dimensions.get('window') // Magic value.


const Screen = () => (
  <Container style={{ height }}>
    {/* Your screen content here */}
    <BottomSheet {...yourBottomSheetParams} />
  </Container>
)

export default Screen
  1. 适用于 Expo Managed Workflow 项目。虽然在android:windowSoftInputMode="adjustPan"那里设置是不可能的。
  2. height: 100%对我不起作用(在 GitHub底部表上建议在 Android 中与键盘一起向上移动,而不是在 iOS #203 上)。
于 2020-05-26T11:05:19.927 回答