티스토리 뷰
Touch Slop은 사용자가 스크롤을 하려는 건지 클릭하려 하는 건지 가로로 스크롤 또는 세로로 스크롤 하려는 것인지 정확하게 판단하기 위해 특정 픽셀을 최소로 이동해야 하는 거리를 뜻합니다.
안드로이드의 Touch Slop은 8입니다.
반면 플러터의 경우 18입니다.
(해당 이유는 플러터의 경우 안드로이드와 다르게 스크롤 드레그라고 판단되고 그냥 손을 때면 스크롤 활동 (IdleScrollActivity가 아니라 BallisticScrollActivity)이 활성화된 상태에서도 포인터 추적을 그만두어 또 다시 사용자의 제스처를 판단해야되기 때문에 발생하는 현상인 것 같습니다. 단순히 Touch Slop을 높이므로서 사용자의 실수를 줄인 것 같으나 HoldScrollActivity라는 스크롤 활동이 존재하고 사용되지만 상위 위젯에 PageView가 존재하면 무용지물이 됩니다.)
비교
소스 코드
MediaQuery(
data: MediaQuery.of(context).copyWith(
gestureSettings: DeviceGestureSettings(touchSlop: touchSlop), <-- 여기
),
child: ...,
);
'플러터 (Flutter)' 카테고리의 다른 글
[Flutter] 자식 위젯의 제스처 또는 포인터 수신을 막는 방법 (0) | 2023.02.12 |
---|---|
[Flutter] 상태가 변화하지 않았어도 모든 위젯을 강제로 리빌드시키는 법 (모든 위젯을 리빌드) (0) | 2023.02.02 |
[Flutter] 자식 위젯의 State 또는 부모 위젯의 State를 참조하는 방법 (0) | 2023.01.30 |
[Flutter] 자식 Listener의 트리거가 부모 Listener에게도 전파되는 것을 방지하는 방법 (0) | 2023.01.29 |
[Flutter] 기기 테마가 변경되면 콜백되는 함수 (0) | 2023.01.08 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- html custom element
- 최적화
- pageroute
- 타입스크립트
- 객체 지향
- jetpack compose
- 팩토리 메서드
- 디자인 패턴
- 조건부 타입
- Factory Method
- omit
- 객체지향
- github
- web
- JavaScript
- svg
- 커스텀 요소
- 안드로이드 개발
- android
- 깃허브
- 리플 효과
- 터치 효과
- Reflow
- pagetransitionsbuilder
- 전환 애니메이션
- webpack
- 플러터
- Flutter
- 안드로이드
- TypeScript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함