Files
react-navigation/example/src/DragLimitedToModal.tsx
2020-02-24 17:27:10 +01:00

49 lines
1.1 KiB
TypeScript

import React from 'react';
import { View, Text, StyleSheet, Dimensions } from 'react-native';
import { NavigationStackScreenComponent } from 'react-navigation-stack';
const HEIGHT = Dimensions.get('screen').height;
const DragLimitedToModal: NavigationStackScreenComponent = () => (
<View style={styles.modal}>
<Text style={styles.text}>Adjusts to the size of text</Text>
</View>
);
DragLimitedToModal.navigationOptions = {
cardStyle: { backgroundColor: 'transparent' },
gestureDirection: 'vertical',
gestureResponseDistance: { vertical: HEIGHT },
cardStyleInterpolator: ({ current }) => {
const translateY = current.progress.interpolate({
inputRange: [0, 1],
outputRange: [HEIGHT, 0],
});
return {
cardStyle: {
transform: [{ translateY }],
flex: undefined,
},
containerStyle: {
alignItems: 'center',
justifyContent: 'center',
},
};
},
};
const styles = StyleSheet.create({
modal: {
padding: 30,
borderRadius: 15,
backgroundColor: '#000',
},
text: {
fontSize: 18,
color: '#fff',
},
});
export default DragLimitedToModal;