避免使用KeyboardAvoidingView推送标题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了避免使用KeyboardAvoidingView推送标题相关的知识,希望对你有一定的参考价值。

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

当我关注输入时,整个窗口被推高,也隐藏了标题

我该如何避免这种行为?

这是我正在使用的组件:

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>

    )
  }
}
答案

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

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

另一答案

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

另一答案

使用KeyboardAwareScrollView它允许在键盘上方指定extraHeight prop

以上是关于避免使用KeyboardAvoidingView推送标题的主要内容,如果未能解决你的问题,请参考以下文章

ReactNative: 使用键盘避免视图KeyboardAvoidingView组件实现键盘自适应

KeyboardAvoidingView + ListView

使用KeyboardAvoidingView时,react-navigation标题后面的内容

KeyboardAvoidingView 在本机反应中使用过多的填充来推高内容

反应本机文本输入多行没有被键盘向上推

无法弄清楚如何正确使用 KeyboardAvoidingView