Android (v9, Compose): diagonal swipe on a pager blocks vertical scrolling of a ScrollView inside a page
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 67/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- android, react-native, typescript
- Lĩnh vực
- mobile
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 3.4k
- Fork
- 490
- Merge trung bình
- 2 ngày 5 giờ
- Pull request đã merge (30 ngày)
- 34
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của callstack/react-native-pager-view
-
[iOS] Page is blank after setPage when the screen re-renders on pager eventsCó thể đã có người làm @KisaneNeko đã nhận 2 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
callstack/react-native-pager-view#1202 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Android/Fabric] setPageWithoutAnimation from useLayoutEffect is ignored when targeting a newly added pageCó thể đã có người làm @Luccacvb đã nhận hôm nay. Đang mở
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 58/100
callstack/react-native-pager-view#1196 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[iOS] Focused TextInput keeps focus and keyboard after switching pages (v9)Có thể đã có người làm @TaduJR đã nhận 9 ngày trước. Đang mở
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 69/100
callstack/react-native-pager-view#1192 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 73/100
callstack/react-native-pager-view#1191 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
callstack/react-native-pager-view#1189 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của callstack/react-native-pager-view
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
gnosis/gnosis_vpn#661 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)Đang mởtriage:bug-verified
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
Maintainer thường phản hồi trong vòng 1 ngày
-
fix: reject sourceStorage/packagedStorage bucket that differs from the stack default (fail loud)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Eyevinn/open-videocore#1300 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
nextjs-tracking
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
cloudflare/vinext#4390 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
kubernetes-sigs/headlamp#8175 ·
Maintainer thường phản hồi trong vòng 2 ngày