Android (v9, Compose): diagonal swipe on a pager blocks vertical scrolling of a ScrollView inside a page
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 67/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- android, react-native, typescript
- Domaine
- mobile
Piste de recherche
Start in ComposePagerView.kt, especially updateSameOrientationAncestorsGestureStateForMove, which the report identifies as the likely direction-check entry point. Reproduce with a vertically scrolling ScrollView and a mostly vertical diagonal drag, then inspect related issues #955 and #606 for context. Done when vertical scrolling continues for that gesture while intentional horizontal pager swipes still work.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Environment
- react-native-pager-view 9.0.7 (Android, Compose implementation)
- react-native 0.88.0, Expo SDK 58 (Expo Go)
- used through react-native-tab-view 4.3.4 (bottom tab bar,
swipeEnabled: true)
Steps to reproduce
- Put a vertically scrolling
ScrollViewwith tall content on a page of the pager. - Drag a finger on it slightly diagonally (mostly vertical, a bit sideways).
Expected
The ScrollView keeps scrolling vertically (this is how it behaved with pager-view 8.x / ViewPager2).
Actual
The pager takes over the gesture as a horizontal swipe, and vertical scrolling stops until the finger is lifted.
Workaround
Using the JS PanResponderAdapter from react-native-tab-view on Android, which requires |dx| > 2·|dy| to start a horizontal swipe.
Possible cause
The direction check in ComposePagerView.kt (updateSameOrientationAncestorsGestureStateForMove) seems to treat a gesture as horizontal too eagerly.
Possibly related: #955, #606.
- Langage dominant
- TypeScript
- Étoiles
- 3.4k
- Forks
- 490
- Merge moyen
- 2 j 4 h
- PR mergées (30 j)
- 44
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de callstack/react-native-pager-view
-
[iOS] Page is blank after setPage when the screen re-renders on pager eventsPeut-être pris @KisaneNeko l’a pris il y a 5 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
callstack/react-native-pager-view#1202 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
[iOS] Focused TextInput keeps focus and keyboard after switching pages (v9)Peut-être pris @TaduJR l’a pris il y a 12 jours. Ouverte
Difficulté 4/5 1-2 jours Accessibilité débutants 69/100
callstack/react-native-pager-view#1192 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 73/100
callstack/react-native-pager-view#1191 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
callstack/react-native-pager-view#1189 ·
Les mainteneurs répondent en général sous 1 jour
-
iOS: PagerScrollDelegate proxies to itself and overflows the stack when the weak originalDelegate diesPeut-être pris @lvlrSajjad l’a pris il y a 48 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
callstack/react-native-pager-view#1146 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de callstack/react-native-pager-view
Issues similaires
-
bug low priority
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
laaielichter/Godotwright#81 ·
Les mainteneurs répondent en général sous 1 jour
-
gebied: infra
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
VincentSmedinga/sc-heerenveen-fansite#538 ·
Les mainteneurs répondent en général sous 1 jour
-
CI grants a token it does not need, never cancels superseded runs, and cannot fail on lint warningsOuvertegood first issue help wanted type:infrastructure type:security
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Open-Glassbeetle/glassbeetle#247 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour