{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/react-native/issues/21643","repository_url":"https://api.github.com/repos/facebook/react-native","labels_url":"https://api.github.com/repos/facebook/react-native/issues/21643/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react-native/issues/21643/comments","events_url":"https://api.github.com/repos/facebook/react-native/issues/21643/events","html_url":"https://github.com/facebook/react-native/issues/21643","id":368650487,"node_id":"MDU6SXNzdWUzNjg2NTA0ODc=","number":21643,"title":"[0.57.2] Horizontal scroll view + pagingEnabled / snapToInterval / snapToOffsets bad UX and last item scroll bug ","user":{"login":"chrusart","id":20209237,"node_id":"MDQ6VXNlcjIwMjA5MjM3","avatar_url":"https://avatars2.githubusercontent.com/u/20209237?v=4","gravatar_id":"","url":"https://api.github.com/users/chrusart","html_url":"https://github.com/chrusart","followers_url":"https://api.github.com/users/chrusart/followers","following_url":"https://api.github.com/users/chrusart/following{/other_user}","gists_url":"https://api.github.com/users/chrusart/gists{/gist_id}","starred_url":"https://api.github.com/users/chrusart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrusart/subscriptions","organizations_url":"https://api.github.com/users/chrusart/orgs","repos_url":"https://api.github.com/users/chrusart/repos","events_url":"https://api.github.com/users/chrusart/events{/privacy}","received_events_url":"https://api.github.com/users/chrusart/received_events","type":"User","site_admin":false},"labels":[{"id":1207189779,"node_id":"MDU6TGFiZWwxMjA3MTg5Nzc5","url":"https://api.github.com/repos/facebook/react-native/labels/Type:%20Bug%20Report","name":"Type: Bug Report","color":"ffffff","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2018-10-10T12:52:28Z","updated_at":"2019-04-03T18:02:13Z","closed_at":"2019-03-19T17:41:45Z","author_association":"CONTRIBUTOR","body":"## Environment\r\n```\r\n  React Native Environment Info:\r\n    System:\r\n      OS: macOS High Sierra 10.13.6\r\n      CPU: x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz\r\n      Memory: 1.08 GB / 16.00 GB\r\n      Shell: 3.2.57 - /bin/bash\r\n    Binaries:\r\n      Node: 8.10.0 - /usr/local/bin/node\r\n      Yarn: 1.10.1 - /usr/local/bin/yarn\r\n      npm: 5.6.0 - /usr/local/bin/npm\r\n      Watchman: 4.7.0 - /usr/local/bin/watchman\r\n    SDKs:\r\n      iOS SDK:\r\n        Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0\r\n      Android SDK:\r\n        Build Tools: 23.0.1, 23.0.2, 23.0.3, 25.0.0, 25.0.1, 25.0.2, 25.0.3, 26.0.1, 26.0.2, 27.0.3\r\n        API Levels: 23, 24, 25, 26, 27\r\n    IDEs:\r\n      Android Studio: 3.1 AI-173.4819257\r\n      Xcode: 10.0/10A255 - /usr/bin/xcodebuild\r\n    npmPackages:\r\n      react: 16.5.1 => 16.5.1 \r\n      react-native: 0.57.2 => 0.57.2 \r\n```\r\n\r\n## Description\r\nThis is a continuation of discussion started in #21116 \r\n\r\nAndroid horizontal scroll view with snapInterval/snapOffsets set have constant speed of fling animation which looks bad from UX point of view and is not consistent with iOS.\r\n\r\n~~With snapToInterval set cannot scroll to last item.~~\r\n\r\nVideos about scrolling speed/decelaration:\r\n\r\n0.56.1\r\nhttps://www.dropbox.com/s/kwg3cx0bgbs4k5k/Android_RN_0.56.1_big_screen_width.mov?dl=0\r\nhttps://www.dropbox.com/s/fjlcjtv0jznbsqx/iOS_RN_0.56.1_big_screen_width.mov?dl=0\r\n\r\n0.57.2\r\nhttps://www.dropbox.com/s/0buhliw0uge52rk/Android_RN_0.57.2_big_screen_width.mov?dl=0\r\nhttps://www.dropbox.com/s/hnufpzwce5ejfa6/Android_RN_0.57.2_small_screen_width.mov?dl=0\r\n\r\n## Reproducible Demo\r\nhttps://snack.expo.io/SkQP6su5Q\r\n"},"comment":{"url":"https://api.github.com/repos/facebook/react-native/issues/comments/479596716","html_url":"https://github.com/facebook/react-native/issues/21643#issuecomment-479596716","issue_url":"https://api.github.com/repos/facebook/react-native/issues/21643","id":479596716,"node_id":"MDEyOklzc3VlQ29tbWVudDQ3OTU5NjcxNg==","user":{"login":"pribeh","id":690883,"node_id":"MDQ6VXNlcjY5MDg4Mw==","avatar_url":"https://avatars1.githubusercontent.com/u/690883?v=4","gravatar_id":"","url":"https://api.github.com/users/pribeh","html_url":"https://github.com/pribeh","followers_url":"https://api.github.com/users/pribeh/followers","following_url":"https://api.github.com/users/pribeh/following{/other_user}","gists_url":"https://api.github.com/users/pribeh/gists{/gist_id}","starred_url":"https://api.github.com/users/pribeh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pribeh/subscriptions","organizations_url":"https://api.github.com/users/pribeh/orgs","repos_url":"https://api.github.com/users/pribeh/repos","events_url":"https://api.github.com/users/pribeh/events{/privacy}","received_events_url":"https://api.github.com/users/pribeh/received_events","type":"User","site_admin":false},"created_at":"2019-04-03T18:02:13Z","updated_at":"2019-04-03T18:02:13Z","author_association":"NONE","body":"@ferrannp I stand corrected. The following appears to produce the correct results on Android with 0.59:\r\n\r\n```\r\nsnapToInterval={screen.height}\r\ndecelerationRate={0.83}\r\nsnapToAlignment={\"start\"}\r\n```\r\n\r\nThe key is **not** to use a decelerationRate of zero, which is what others have recommended before to use when attempting to achieve swipe motion."}}
{"actor":{"display_login":"pribeh"}}