diff --git a/package.json b/package.json index 01b232b..a386de8 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ }, "homepage": "https://github.com/archriss/react-native-image-gallery#readme", "dependencies": { + "deprecated-react-native-prop-types": "^2.3.0", "prop-types": "^15.6.0", "react-mixin": "^3.0.5", "react-timer-mixin": "^0.13.3" diff --git a/src/Gallery.js b/src/Gallery.js index 4955fc5..32e2747 100644 --- a/src/Gallery.js +++ b/src/Gallery.js @@ -1,5 +1,6 @@ import React, { PureComponent } from 'react'; -import { View, ViewPropTypes } from 'react-native'; +import { View } from 'react-native'; +import { ViewPropTypes } from 'deprecated-react-native-prop-types'; import PropTypes from 'prop-types'; import { createResponder } from './libraries/GestureResponder'; import TransformableImage from './libraries/TransformableImage'; diff --git a/src/libraries/TransformableImage/index.js b/src/libraries/TransformableImage/index.js index a691492..401d6e5 100644 --- a/src/libraries/TransformableImage/index.js +++ b/src/libraries/TransformableImage/index.js @@ -1,5 +1,6 @@ import React, { PureComponent } from 'react'; -import { View, Text, Image, ViewPropTypes } from 'react-native'; +import { View, Text, Image } from 'react-native'; +import { ViewPropTypes } from 'deprecated-react-native-prop-types'; import PropTypes from 'prop-types'; import ViewTransformer from '../ViewTransformer'; diff --git a/src/libraries/ViewPager/index.js b/src/libraries/ViewPager/index.js index d5fc464..91b50d3 100644 --- a/src/libraries/ViewPager/index.js +++ b/src/libraries/ViewPager/index.js @@ -2,10 +2,10 @@ import React, { PureComponent } from 'react'; import { View, FlatList, - ViewPropTypes, InteractionManager, Dimensions } from 'react-native'; +import { ViewPropTypes } from 'deprecated-react-native-prop-types'; import PropTypes from 'prop-types'; import Scroller from '../Scroller'; import { createResponder } from '../GestureResponder'; @@ -65,14 +65,14 @@ export default class ViewPager extends PureComponent { createScroller () { return new Scroller(true, (dx, dy, scroller) => { + const curX = this.scroller.getCurrX(); + this.refs['innerFlatList'] && this.refs['innerFlatList'].scrollToOffset({ offset: curX, animated: false }); + if (dx === 0 && dy === 0 && scroller.isFinished()) { if (!this.activeGesture) { this.onPageScrollStateChanged('idle'); } } else { - const curX = this.scroller.getCurrX(); - this.refs['innerFlatList'] && this.refs['innerFlatList'].scrollToOffset({ offset: curX, animated: false }); - let position = Math.floor(curX / (this.state.width + this.props.pageMargin)); position = this.validPage(position); let offset = (curX - this.getScrollOffsetOfPage(position)) / (this.state.width + this.props.pageMargin);