react / react/react-native

React Native Android: An absolute positioned element outside of the bounds of its parent not responding to Drag Gestures (i.ex FlatList)

Ouverte
#34,542 5 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Component: FlatList Needs: Triage :mag: Never gets stale Platform: Android
Langage dominant
C++
Étoiles
127k
Forks
25.3k
Merge moyen
1 j 23 h
PR mergées (30 j)
4

Description

Description

It's really similar to this issue: #27232.
The Tap gestures were fixed in React Native 0.66, however, the same problem persists with all the other types of gestures, especially dragging/scrolling, which is quite annoying because the flat list cannot be scrolled at all.

This happens only on Android.
Works perfectly fine on IOS and Web.
Expo SDK 46

Version

0.69.5

Output of npx react-native info

System:
OS: macOS 12.0.1
CPU: (8) arm64 Apple M1 Pro
Memory: 739.58 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.14.0 - ~/.asdf/installs/nodejs/16.14.0/bin/node
Yarn: 1.22.18 - ~/.asdf/shims/yarn
npm: 8.3.1 - ~/.asdf/plugins/nodejs/shims/npm
Watchman: Not Found
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
Android SDK: Not Found
IDEs:
Android Studio: 2020.3 AI-203.7717.56.2031.7935034
Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
Languages:
Java: 17.0.2 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: Not Found
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

Steps to reproduce
  1. Create an absolute positioned component outside the bounds of its parent
  2. Add FlatList inside this component
  3. Run on an Android emulator/device, you won't be able to scroll the flat list.
Snack, code example, screenshot, or link to a repository

https://snack.expo.dev/@jmysliv/bug-reproduction

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la reproduction Snack liée et par le comportement Android décrit autour d’un composant positionné en absolu contenant une FlatList. Reproduisez le geste de glissement ou de défilement qui échoue sur Android, comparez-le avec iOS et Web, puis suivez la gestion pertinente des gestes et des vues de React Native. Le travail est terminé lorsque la FlatList réagit au glissement lorsqu’elle est positionnée en dehors des limites de son parent.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
android, react-native
Domaine
mobile
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.