效果图:
通过react-native提供的PanResponder组件来处理滑动事件,类似于android中的view事件传递机制
部分代码:
componentWillMount(evt, gestureState){
this._panResponder=PanResponder.create({
onStartShouldSetPanResponder:this.onStartShouldSetPanResponder,//开始时询问是否成为响应者
onMoveShouldSetPanResponder:this.onMoveShouldSetPanResponder,//滑动时询问是否成为响应者
onPanResponderGrant:this.onPanResponderGrant,//已经成为响应者 类似于android中touch的down事件
onPanResponderMove:this.onPanResponderMove,//类似于android中touch的move事件
onPanResponderRelease:this.onPanResponderEnd,//类似于android中touch的up事件
onPanResponderTerminate:this.onResponderTerminate,//意外终止 类似于android中touch的cancel事件
onResponderTerminationRequest:this.onResponderTerminationRequest,//其他view想获得事件 是否释放事件
});
}
// 开始手势操作。给用户一些视觉反馈,让他们知道发生了什么事情!
onPanResponderGrant=(evt, gestureState)=>{
// console.log("begin")
vx = gestureState.vx; //开始时速度为0
this.pre_hide();/*隐藏之前显示的view*/
console.log('begin vx:'+ vx);
if(left_width<SCREEN_WIDTH){//只能向右面滑动
visible = true;/