diff --git a/examples/android/gradlew b/examples/android/gradlew old mode 100755 new mode 100644 diff --git a/src/index.js b/src/index.js index 9bc71954..d9deeb48 100644 --- a/src/index.js +++ b/src/index.js @@ -394,6 +394,8 @@ export default class extends Component { updateIndex = (offset, dir, cb) => { const state = this.state let index = state.index + if (!this.internals.offset) // Android not setting this onLayout first? https://github.com/leecade/react-native-swiper/issues/582 + this.internals.offset = {} const diff = offset[dir] - this.internals.offset[dir] const step = dir === 'x' ? state.width : state.height let loopJump = false @@ -619,6 +621,17 @@ export default class extends Component { this.scrollView = view; } + onPageScrollStateChanged = state => { + switch (state) { + case 'dragging': + return this.onScrollBegin(); + + case 'idle': + case 'settling': + if (this.props.onTouchEnd) this.props.onTouchEnd(); + } + } + renderScrollView = pages => { if (Platform.OS === 'ios') { return ( @@ -639,6 +652,7 @@ export default class extends Component {