我正在编写聊天应用程序。我有KeyboardAvoidingView
,可以在显示或隐藏键盘时上下移动整个视图。
const behavior = Platform.select({
ios: { behavior: 'padding' } as { behavior: 'padding' },
android: {},
});
<KeyboardAvoidingView {...behavior}>
<HeaderBar/> // Renders header
<MessagesFlatList/> // renders the messages as a flat list
<SafeAreaView>
// render message compose
</SafeAreaView>
</KeyboardAvoidingView>
我的问题是:打开键盘时,HeaderBar
和MessagesFlatList
向上移动。现在,如果在打开键盘视图的同时向上滚动消息,则无法滚动到顶部。顶部消息和标题栏保持隐藏在屏幕之外。
但是,如果平面列表中没有足够的消息不需要滚动条,那么在这种情况下,如果我在键盘打开时向上滚动,则会按预期向下滚动标题栏。
问题似乎是,当子滚动视图无法进一步滚动时,react-native似乎不太聪明。 知道如何在这种情况下使父级滚动吗?