【发布时间】:2020-11-22 02:43:59
【问题描述】:
我正在使用cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS 进行动画转换,问题是pop 的动画必须与push 的相反,但push 和pop 的动画不是相同的,屏幕转换的方式相同。
如何更改弹出动画,过渡动画与弹出相反??
我尝试在包含 topbar 但不起作用的堆栈中使用它:
<Stack.Navigator
screenOptions={{
...TransitionPresets.SlideFromRightIOS,
}}
mode="card"
headerMode="screen"
>
<Stack.Screen
name="HOME"
component={HomeStack}
options={{
...TransitionPresets.SlideFromRightIOS,
}}
/>
</Stack.Navigator>
const Tab = createMaterialTopTabNavigator();
export default function HomeStack({
navigation,
route,
}: {
navigation: StackNavigationProp<any>;
route: any;
}) {
React.useLayoutEffect(() => {
navigation.setOptions({
headerShown: false,
});
}, [navigation, route]);
useFocusEffect(
React.useCallback(() => {
const onBackPress = () => {
BackHandler.exitApp();
return true;
};
BackHandler.addEventListener("hardwareBackPress", onBackPress);
return () => BackHandler.removeEventListener("hardwareBackPress", onBackPress);
}, []),
);
return (
<Tab.Navigator tabBar={props => <CentralTab {...props} />} tabBarPosition="bottom" lazy>
<Tab.Screen name="GROUPS" component={GroupsScreen} />
<Tab.Screen name="FEED" component={FeedStack} />
<Tab.Screen name="NEW" component={NewStack} />
</Tab.Navigator>
);
}
【问题讨论】:
-
这个答案是否仍然适用:stackoverflow.com/questions/7902552/… ?
-
@Luuk 不,我正在使用 react-native。
-
我如何在 ReactNative 中使用 CSS:stackoverflow.com/questions/42949667/…
-
弹出动画是指当用户返回上一个屏幕时?预期的行为是导航到新屏幕时从右到左,返回时从左到右?
-
@RafaelTavares 是的。
标签: react-native react-navigation