避免使用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标题后面的内容