请参阅下面的视频以了解其功能。
[当您从下至上滑动手指时,会打开一个包含其他视频的面板,我们只是想了解它叫什么或它是什么库?我们根本无法在React Native应用程序中找到相关资源来实现类似功能。
对不起,新手问题!
我不知道任何库,但是有了react-native-gesture-handler
,就很容易实现!这是我在上一个项目中所做的:
let onGestureEvent = Animated.event([
{
nativeEvent: {
translationY: height,
},
},
]);
let translateY = new Animated.Value(-300)
let onHandlerStateChange = ({nativeEvent}) => {
if (nativeEvent.oldState === State.ACTIVE) {
if (nativeEvent.translationY > 0) {
Animated.spring(translateY, {toValue: 300}).start(() => {
isExpanded = false;
height.setOffset(0);
height.setValue(0);
});
} else {
Animated.spring(translateY, {toValue: -300}).start(() => {
isExpanded = true;
height.setOffset(-300);
height.setValue(0);
});
}
}
};
return (<>
<PanGestureHandler
onGestureEvent={onGestureEvent}
onHandlerStateChange={onHandlerStateChange}>
<YourVideoPlayer/>
</PanGestureHandler>
<Animated.View style={[styles.row, {transform: [{translateY}]}]}>
<YourVideosComponent/>
</Animated.View>
</>)
您必须用PanGestureHandler
包装视频播放器,并用absolute
位置的Animated.View
包装面板。让我知道您是否不懂