import * as React from 'react';
import { Button, View, Text } from 'react-native';
import {
createStackNavigator,
TransitionPresets,
TransitionSpecs,
NavigationStackScreenProps,
} from 'react-navigation-stack';
function SlideScreen({ navigation }: NavigationStackScreenProps) {
return (
Slide Screen
);
}
function ModalScreen({ navigation }: NavigationStackScreenProps) {
return (
Slide Screen
navigation.push('Reveal')} />
navigation.push('Slide')} />
navigation.push('Transparent')}
/>
navigation.navigate('Index')}
/>
);
}
function RevealScreen({ navigation }: NavigationStackScreenProps) {
return (
Slide Screen
navigation.push('Slide')} />
navigation.push('Modal')} />
navigation.push('Transparent')}
/>
navigation.navigate('Index')}
/>
);
}
function TransparentScreen({ navigation }: NavigationStackScreenProps) {
return (
Transparent Screen
navigation.push('Slide')} />
navigation.push('Modal')} />
navigation.push('Reveal')}
/>
navigation.navigate('Index')}
/>
navigation.goBack()} />
);
}
export default createStackNavigator(
{
Slide: {
screen: SlideScreen,
navigationOptions: TransitionPresets.SlideFromRightIOS,
},
Modal: {
screen: ModalScreen,
navigationOptions: TransitionPresets.ModalSlideFromBottomIOS,
},
Reveal: {
screen: RevealScreen,
navigationOptions: TransitionPresets.RevealFromBottomAndroid,
},
Transparent: {
screen: TransparentScreen,
navigationOptions: {
cardStyle: { backgroundColor: 'transparent' },
headerShown: false,
gestureEnabled: false,
transitionSpec: {
open: TransitionSpecs.TransitionIOSSpec,
close: TransitionSpecs.TransitionIOSSpec,
},
cardStyleInterpolator: ({ current: { progress } }) => ({
cardStyle: { opacity: progress },
}),
},
},
},
{
headerMode: 'screen',
defaultNavigationOptions: {
cardOverlayEnabled: true,
gestureEnabled: true,
},
}
);