[Flutter] GestureDetector 터치 범위 설정

0

Flutter 개발

목록 보기
1/3

플러터 개발시에는 제스처를 감지하기위해 GestureDetector 위젯을 많이 사용한다.

그런데 child 위젯을 설정하고 제스처를 설정하면 하위 위젯 실제 크기만큼만 터치범위가 설정된다.

그럴때는

GestureDetector(
	.
	.
    behavior: HitTestBehavior.translucent,
	.
    .
),                             

위 처럼 behavior: HitTestBehavior.translucent, 을 추가하면 해당 터치 영역 모두 설정 가능하다.

HitTestBehavior 속성에는

  • DeferToChild (기본값)
    : 자식을 갖고 있는 자식 중 하나가 hit test에 해당하는 경우에만 해당 범위 내에서 이벤트를 받는다.
  • opaque
    : 불투명한 대상은 hit test에 의해 hit 될 수 있으므로 둘다 해당 범위 내에서 이벤트를 수신하고 시각적으로 뒤에 있는 대상도 이벤트를 수신하지 못하도록 한다.
  • translucent
    : 반투명 타겟은 경계 내에서 이벤트를 수신하고 시각적으로 뒤에 있는 타겟도 이벤트를 수신하도록 허용한다.

따라서 translucent를 속성을 주고 해당 영역이 터치되도록 구현하였다.

0개의 댓글