diff options
author | Leon Jiang <35908040+leonyjiang@users.noreply.github.com> | 2021-04-03 21:25:32 -0400 |
---|---|---|
committer | Leon Jiang <35908040+leonyjiang@users.noreply.github.com> | 2021-04-03 21:25:32 -0400 |
commit | 1cd94d9a012543683126094251b2e5562e2eea21 (patch) | |
tree | 6fbcbe03e7d7094819aa945c78b54203f306c9c9 | |
parent | cce0f8510ac691618c69d76daacac4752800b8c1 (diff) |
Fix bottom sheet animation
-rw-r--r-- | src/components/common/BottomDrawer.tsx | 19 | ||||
-rw-r--r-- | src/routes/main/MainStackScreen.tsx | 18 |
2 files changed, 14 insertions, 23 deletions
diff --git a/src/components/common/BottomDrawer.tsx b/src/components/common/BottomDrawer.tsx index 173823b1..988c1e79 100644 --- a/src/components/common/BottomDrawer.tsx +++ b/src/components/common/BottomDrawer.tsx @@ -6,7 +6,7 @@ import { View, ViewProps, } from 'react-native'; -import Animated from 'react-native-reanimated'; +import Animated, {interpolateColors} from 'react-native-reanimated'; import BottomSheet from 'reanimated-bottom-sheet'; import {SCREEN_HEIGHT, SCREEN_WIDTH} from '../../utils'; @@ -50,6 +50,10 @@ const BottomDrawer: React.FC<BottomDrawerProps> = (props) => { ); }; + const backgroundColor = interpolateColors(bgAlpha, { + inputRange: [0, 1], + outputColorRange: ['rgba(0,0,0,0.3)', 'rgba(0,0,0,0)'], + }); return ( <Modal transparent @@ -75,18 +79,7 @@ const BottomDrawer: React.FC<BottomDrawerProps> = (props) => { onPress={() => { setIsOpen(false); }}> - <Animated.View - style={[ - styles.backgroundView, - // TODO: (Leon) use reanimated v2 - // { - // backgroundColor: Animated.interpolateColors(bgAlpha, { - // inputRange: [0, 1], - // outputColorRange: ['rgba(0,0,0,0.3)', 'rgba(0,0,0,0)'], - // }), - // }, - ]} - /> + <Animated.View style={[styles.backgroundView, {backgroundColor}]} /> </TouchableWithoutFeedback> </Modal> ); diff --git a/src/routes/main/MainStackScreen.tsx b/src/routes/main/MainStackScreen.tsx index b72ab779..8068b893 100644 --- a/src/routes/main/MainStackScreen.tsx +++ b/src/routes/main/MainStackScreen.tsx @@ -98,11 +98,10 @@ const MainStackScreen: React.FC<MainStackProps> = ({route}) => { cardOverlayEnabled: true, cardStyleInterpolator: ({current: {progress}}) => ({ cardStyle: { - // TODO: (Leon) use reanimated v2 - // opacity: progress.interpolate({ - // inputRange: [0, 0.5, 0.9, 1], - // outputRange: [0, 0.25, 0.7, 1], - // }), + opacity: progress.interpolate({ + inputRange: [0, 0.5, 0.9, 1], + outputRange: [0, 0.25, 0.7, 1], + }), }, }), }; @@ -349,11 +348,10 @@ export const modalStyle: StackNavigationOptions = { cardOverlayEnabled: true, cardStyleInterpolator: ({current: {progress}}) => ({ cardStyle: { - // TODO: (Leon) use reanimated v2 - // opacity: progress.interpolate({ - // inputRange: [0, 0.5, 0.9, 1], - // outputRange: [0, 0.25, 0.7, 1], - // }), + opacity: progress.interpolate({ + inputRange: [0, 0.5, 0.9, 1], + outputRange: [0, 0.25, 0.7, 1], + }), }, }), }; |