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)

Offen
#34,542 5 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Component: FlatList Needs: Triage :mag: Never gets stale Platform: Android
Vorherrschende Sprache
C++
Sterne
127k
Forks
25.3k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
4

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der verknüpften Snack-Reproduktion und dem beschriebenen Android-Verhalten rund um eine absolut positionierte Komponente, die eine FlatList enthält. Reproduziere die fehlgeschlagene Drag- oder Scroll-Geste auf Android, vergleiche sie mit iOS und Web und verfolge die relevante Gesture- und View-Behandlung von React Native. Als erledigt gilt, dass die FlatList auf Dragging reagiert, wenn sie außerhalb der Grenzen ihres Parents positioniert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, react-native
Bereich
mobile
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.