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

Rom*_*mar 8 modal-dialog react-native

我有一个非常基本的模态组件(使用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}
    ....
Run Code Online (Sandbox Code Playgroud)

在 ios 上它工作正常,即键盘在模态组件上打开,但在 android 上则不然。voidKeyboard={false} 不起作用。

这是我的模式风格(位置:'绝对'也不起作用)

  cartModal: {
    position: 'absolute',
    justifyContent: 'flex-end',
    bottom: 0,
    left: 0,
    right: 0,
    zIndex: 1,
  },
Run Code Online (Sandbox Code Playgroud)

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

  android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)

小智 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}
>
Run Code Online (Sandbox Code Playgroud)

试试这个,它对我有用。