我使用React Navigation创建了一个底部标签栏,需要在滚动时设置动画/折叠。但是,当用户滚动时,安全区域视图不会显示动画,而是保留在底部(我希望在底部标签栏隐藏时也将其隐藏)。为了解决这个问题,我这样做:
<SafeAreaView style={{ flex: 1 }} forceInset={{ bottom: 'never' }}>
<AppContainer />
</SafeAreaView>
并尝试在我的自定义标签栏上设置底部安全区域视图,以便在对其进行动画处理时,整个导航栏(包括安全区域视图都被设置为动画)
const MainBottomTabNavigator = createBottomTabNavigator(
{
firstTab: { screen: FirstScreen },
secondTab: { screen: SecondScreen },
thirdTab: { screen: ThirdScreen },
},
{
defaultNavigationOptions: ({ navigation }) => {
return {
tabBarComponent: props => ( <MyCustomNavBar {...props} /> ),
tabBarOptions: { safeAreaInset: { bottom: 'always' } },
};
},
}
);
我尝试将tabBarOptions
放在不同的位置,但是它们都不起作用。我发现的一件事是,如果我删除自定义选项卡栏,而仅使用默认选项卡栏,那么它将起作用。有没有一种方法可以覆盖自定义标签栏上的forceInset?