React Native 模态定位

React Native Modal Positioning

我使用的是 React Native 内置的模态框(特别是我使用的是 React Native Paper 变体)。默认情况下,这似乎在屏幕中间打开。但是,如果您在 Modal 中进行一些文本输入,那么如果它在屏幕顶部打开,或者知道键盘,它会更有用。但是我找不到让这个工作的方法。

我的(简化)模态代码是:

     <Portal>
      <Modal visible={visibleModalNew} onDismiss={closeModalNew} contentContainerStyle={styles.modalContainer} >
        <View>
          <Title>New</Title>
          <View>
            <TextInput
              mode="outlined"
              label="Data"
              style={{alignSelf:'center', width:'95%'}}
              defaultValue={newData}
              onChangeText={newData=> setNewData(newData)}
              onSubmitEditing={() => handleDone()}
            />
            <Button onPress={() => doSomething()}>Do something</Button>
          </View>
        </View>
      </Modal>
    </Portal>

啊,想办法了。我将模态包裹在 KeyboardAwareView 中,从模态中移除可见道具,然后将其全部包裹在条件渲染中,并将可见道具放在那里。似乎如愿以偿。