当键盘在android中打开时,如何防止反应本机模式向上移动?

时间:2019-05-21 11:13:08

标签: react-native modal-dialog

我有一个非常基本的模态组件(使用React-native-modal),该组件呈现其给定的子视图。但是,我不希望行为类似于KeyBoardAvoiding视图,即我不希望在键盘打开时将模式推上去。

 <Modal
        isVisible={isVisible}
        onBackdropPress={onCartDismiss}
        style={CartStyles.cartModal}
        onSwipeEnd={this.onCartDismiss}
        onSwipe={this.onCartDismiss}
        swipeDirection="down"
        swipeThreshold={200}
        propagateSwipe
        avoidKeyboard={false}
      >
        {this.props.children}
         ....

在ios上,它可以正常工作,即键盘在模式组件上打开,但在android上则无法打开。 preventKeyboard = {false}不起作用。

这是我的情态样式(位置:“绝对”也不起作用)

 cartModal: {
    position: 'absolute',
    justifyContent: 'flex-end',
    bottom: 0,
    left: 0,
    right: 0,
    zIndex: 1,
  },

我什至尝试将android清单中的softinputmode更改为:

 android:windowSoftInputMode="adjustPan"

1 个答案:

答案 0 :(得分:1)

<Modal
 isVisible={modalVisible}
 animationInTiming={500}
 animationOutTiming={1000}
 backdropTransitionInTiming={500}
 backdropTransitionOutTiming={1000}
 onBackdropPress={() => setModalVisible(!modalVisible)}
 onBackButtonPress={() => setModalVisible(!modalVisible)}
 style={{
          justifyContent: 'flex-end',
          margin: 0,
          position:'absolute'
       }}
 avoidKeyboard={false}
>

尝试一下对我有用。