[플러터] 위젯에 클릭 이벤트 부여하기 (Inkwell, GestureDetector)

2021. 7. 31. 01:09·Flutter/Flutter Widget Basic
목차
  1.  
  2. InkWell
  3. GestureDetector

플러터의 일반적인 위젯들에는 onClick, onPressed 속성이 없다.

InkWell 혹은 GestureDetector으로 일반 위젯을 감싸주면 클릭 이벤트들을 부여할 수 있다.

 

InkWell

 InkWell(
      splashColor: 
      hoverColor: 
      highlightColor: 
      
      onTap: () {
      
      }
      child : Container(...)
      ...

 

InkWell은 onTap, onTapDown, onHover의 기본적인 클릭 이벤트들이 내장되어있다.

또한, 위젯을 클릭 했을때 아래와 같은 클릭 애니메이션이 기본으로 발생한다.

만약 애니메이션이 마음에 들지 않는다면 Colors.transparent을 정의해주면 된다.

간단하게 클릭 기능을 만들고 싶은 위젯을 InkWell로 감싸주면된다.

focusNode를 속성으로 가지고 있어 클릭시 focusNode에 foucs를 자동으로 부여해줄 수 있다.

클릭된 상태

 

GestureDetector

 GestureDetector(
      onLongPress: () {
        
      },
      onTapDown: (details) {
     
      },
      child : Container(...)
    );

해당 위젯도 마찬가지로 클릭 기능을 만들고 싶은 위젯을 감싸주면 된다.

InkWell과는 다르게 애니메이션이 존재하지 않는다.

위의 예제에서의 details와 같이 클릭된 좌표 값을 받아올 수 있는 속성이 존재한다.

또한, 터치와 관련된 모든 이벤트들을 다룰 수 있다.

 

터치 이벤트 선택지가 엄청나게 많다

저작자표시 비영리 변경금지 (새창열림)

'Flutter > Flutter Widget Basic' 카테고리의 다른 글

[플러터] TabBar 만들기  (0) 2021.08.28
[플러터] Toast 메시지 (Snack bar) 생성하기  (0) 2021.01.07
[플러터] onClick 속성이 가능한 Text 위젯  (0) 2020.11.21
[플러터] bottom Navigation을 구현하는 3가지 방법  (0) 2020.09.28
[플러터] Inkwell의 이펙트 제거  (0) 2020.09.24
  1.  
  2. InkWell
  3. GestureDetector
'Flutter/Flutter Widget Basic' 카테고리의 다른 글
  • [플러터] TabBar 만들기
  • [플러터] Toast 메시지 (Snack bar) 생성하기
  • [플러터] onClick 속성이 가능한 Text 위젯
  • [플러터] bottom Navigation을 구현하는 3가지 방법
박유상의 개발블로그
박유상의 개발블로그
개발블로그
  • 박유상의 개발블로그
    박유상의 개발블로그
    박유상의 개발블로그
  • 전체
    오늘
    어제
    • 전체 (134)
      • Who am I (10)
        • Portfolio (4)
        • Reminiscence (5)
        • Oversea (1)
        • SiliconValley (0)
      • React (36)
        • React Basic (15)
        • React Tech (5)
        • JavaScript (7)
        • TypeScript (3)
        • CSS&HTML (3)
        • Firebase (3)
      • NodeJS (1)
        • NodeJS Basic (1)
      • Flutter (55)
        • Flutter Widget Design (5)
        • Flutter Widget Basic (8)
        • Flutter Tech (18)
        • Flutter Issue (7)
        • Flutter Web (6)
        • About Flutter (2)
        • Firebase (1)
        • Dev Env (1)
        • Dart (7)
      • Programming (31)
        • Web (1)
        • General (0)
        • Algorithm (25)
        • Python (1)
        • VS Code (2)
      • Django (0)
  • 블로그 메뉴

    • Who I AM
    • React
    • NodeJS
    • Flutter
    • Programming
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    useTranslation
    JavaScript
    리액트
    프로그래머스
    flutter web
    Python
    TypeScript
    react
    플러터 웹
    Flutter
    링고리
    웹
    Firebase
    HTML
    github
    CSS
    플러터
    DP
    알고리즘
    useState
    DART
    탐욕법
    JSON
    파이썬
    Lingory
    useRef
    Redux
    map
    포트폴리오
    자바스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박유상의 개발블로그
[플러터] 위젯에 클릭 이벤트 부여하기 (Inkwell, GestureDetector)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.