避免使用KeyboardAvoidingView推送标题

时间:2018-05-27 23:39:58

标签: react-native keyboard

我在堆栈导航器中有一个容器组件,顶部是标题,包含消息和输入元素的滚动视图

当我对输入进行聚焦时,整个窗口会被推高,同时也会隐藏标题

我该如何避免这种行为?

这是我使用的组件:

class Chat extends Component {
  static navigationOptions = ({navigation}) => {
    return {
      headerTitle: (
        <Header
          user={navigation.getParam('chat').partecipants[0]}
          headerClick={() => navigation.getParam('openProfile')()}
        />
      )
    }
  }

.....

  render() {
    ...
    return (
  <KeyboardAvoidingView
      style={{flex: 1}}
      behavior={'padding'}
      >
      <ScrollView>
        {messages}
      </ScrollView>
      <Input sendMessage={(m) => this.props.sendMessage(chat, m)}/>
    </KeyboardAvoidingView>

    )
  }
}

3 个答案:

答案 0 :(得分:0)

当StatusBar设置为隐藏时,似乎KEYAvoidingView存在一个现有错误 https://github.com/facebook/react-native/issues/12980

删除它正常运行的隐藏标志

答案 1 :(得分:0)

在androidmanifest.xml中 更改 --- android:windowSoftInputMode =“adjustResize”--- 至 --- android:windowSoftInputMode =“adjustPan”---

答案 2 :(得分:0)

Use KeyboardAwareScrollView it allows to specify extraHeight prop above the keyboard