GestureDetector의 터치 범위
2023. 12. 13. 23:05ㆍFlutter
반응형
GestureDetector를 사용하다 보면 분명 눌렀는데 누른 처리가 되지 않는 경우를 볼 수 있다
GestureDetector는 터치 범위가 실제 위젯의 크기만큼 만큼 이기 때문이다
Container(
padding: EdgeInsets.all(20.w),
color: Colors.white,
child: GestureDetector(
onTap: () => print("CLICK!"),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("메뉴이름"),
Icon(Icons.arrow_forward),
],
),
),
)

이 상태에서 아무리 흰색 container 부분을 클릭해도 print가 실행되지 않는다
print를 하기위한 터치 범위는 딱 Text와 Icon 위젯 부분만 해당된다.
전체 container를 클릭 하기 위해선
behavior: HitTestBehavior.translucent
GestureDetector에 해당 속성을 추가해 주면 된다.
반응형
'Flutter' 카테고리의 다른 글
GoRouter에서 페이지 이동 transition 설정하기 (0) | 2023.12.24 |
---|---|
GoRouter 사용하기 (1) | 2023.12.23 |
addPostFrameCallback 사용하기 (0) | 2023.12.13 |
[Riverpod] ref가 없는 곳에서 ref 쓰기? (0) | 2023.12.08 |
플러터로 동영상 업로더 만들기 (with Riverpod) (0) | 2023.04.12 |