티스토리 뷰

- flutter

onTab 이벤트시 키보드 숨기기

나둥식 2022. 11. 25. 17:03

✅ 다른 위치 클릭 시 키보드 숨기기

Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
      child: Scaffold(
        resizeToAvoidBottomInset: false,
        appBar: _buildCartAppBar(),
        body: Padding(
          padding:
              const EdgeInsets.only(left: 50, right: 50, top: 40, bottom: 50),
          child: Column(
            children: [
              CustomForm(text: "Login", hintText: "아이디를 입력하세요."),
              CustomForm(text: "Password", hintText: "비밀번호를 입력하세요."),
              CustomButton("Enter"),
            ],
          ),
        ),
      ),
    );
  }

 

1️⃣ textFiled 위젯이 있는 페이지 or 탭 이벤트가 발생하는 위젯의 부모( Scaffold 등)을 GestureDetector로 감싸주야 함

GestureDetector(
    child: Scaffold(),
)
🔎 GestureDetector
- null이 아닌 콜백에 해당하는 제스처를 감지하는 위젯
- 자식의 크기를 따름
- 버튼과 비슷한 반응을 생성하기 위해 onTap을 사용함
- 클릭, 더블클릭, 긴클릭, 스와이프, 드래그 뿐만 아니라 터치로 축소, 확대도 가능

 

 

2️⃣ onTap 제스처를 unfocus로 제어하기

onTap: () => FocusManager.instance.primaryFocus?.unfocus(),

: FocusManage의 인스턴스가 Focus된 상태가 아니면 unfocus 하기

01
1. 키보드 올라옴 /  2. 키보드 숨기기

'- flutter' 카테고리의 다른 글

riverpod - todo 작성하기(글쓰기)  (0) 2022.12.15
custom appbar component  (0) 2022.12.02
textfiled 터치시, overflow 오류 방지  (0) 2022.11.25
firestore ( +riverpod ) 적용하기  (0) 2022.11.22
Widget 종류  (0) 2022.11.21
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함