您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    我在运用React Native/Redux开发中犯过的11个错误(8)
    时间:2018-01-12 21:40 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

            this.opacityAnimated = new Animated.Value(0);                 

            this.panResponder = PanResponder.create({ 

       onMoveShouldSetPanResponderCapture: (evt, gestureState) => true

       onStartShouldSetResponder:() => true

       onStartShouldSetPanResponder : () => true

       onMoveShouldSetPanResponder:(evt, gestureState) => true

       onPanResponderMove: (e, gesture) => {},  

       onPanResponderGrant: (evt, gestureState) => {    

            /**THIS EVENT IS CALLED WHEN WE PRESS THE BUTTON**/ 

           this._setOpacity(1);        

           this.setState({ 

               timestamp: moment() 

           });        

           this.long_press_timeout = setTimeout(() => {             

               this.props.onLongPress(); 

           }, 1000); 

       }, 

       onPanResponderStart: (e, gestureState) => {}, 

       onPanResponderEnd: (e, gestureState) => {}, 

       onPanResponderTerminationRequest: (evt, gestureState) => true

       onPanResponderRelease: (e, gesture) => {    

           /**THIS EVENT IS CALLED WHEN WE RELEASE THE BUTTON**/ 

           let diff = moment().diff(moment(this.state.timestamp));        

           if(diff < 1000){            

               this.props.onPress(); 

           } 

           clearTimeout(this.long_press_timeout);        

           this._setOpacity(0);        

           this.props.releaseBtn(gesture); 

       } 

         }); 

        } 

        _setOpacity(value){     

         /**SETS OPACITY OF THE BUTTON**/ 

            Animated.timing(         

            this.opacityAnimated, 

            { 

                toValue: value, 

                duration: 80, 

            } 

            ).start(); 

        } 

             

        render(){         

            let longPressHandler = this.props.onLongPress, 

                pressHandler = this.props.onPress, 

                image = this.props.image, 

                opacity = this.opacityAnimated.interpolate({ 

                  inputRange: [0, 1], 

                  outputRange: [1, 0.5] 

                });         

             

            return(             

                <View style={styles.btn}> 

                    <Animated.View 

    (责任编辑:admin)