仅当我移动手指时才允许Panresponder React native
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅当我移动手指时才允许Panresponder React native相关的知识,希望对你有一定的参考价值。
我对原生动画的反应非常新。我想创建向上滑动面板,尽管为此目的有很多库,但是我不想将它们用于自学习。
我编写的代码:-
constructor(props)
super(props);
this.animatedHeight = new Animated.Value(100);
this.panresponder = PanResponder.create(
onMoveShouldSetPanResponder:()=>true,
onPanResponderMove:(e,gesture)=>
if( gesture.dy < 0 && gesture.vy < 0 )
this.animatedHeight.setValue(Math.abs(gesture.dy) + 100) // increasing the height. Original height + delta y
else if(gesture.dy > 0 && gesture.vy > 0)
// code for decreasing the height
)
render()
return(
<Animated.View
style=[styles.movableContainer,height:this.animatedHeight]
...this.panresponder.panHandlers
></Animated.View>
)
const styles = StyleSheet.create(
movableContainer:
bottom: 0,
width:'100%',
backgroundColor:'red',
position:'absolute',
zIndex:9999
)
释放后,只要我将手指放回屏幕上,面板就会收缩。我想在移动手指时缩小面板
答案
尝试在创建PanResponder
时添加以下代码
onPanResponderGrant: (evt, gestureState) =>
this.animatedHeight.setOffset(this.animatedHeight._value);
onPanResponderRelease: (e, vx, vy ) =>
this.animatedHeight.flattenOffset();
以上是关于仅当我移动手指时才允许Panresponder React native的主要内容,如果未能解决你的问题,请参考以下文章
修饰并移动图像返回初始位置后反应本机 Panresponder 问题