이 영역을 누르면 첫 페이지로 이동
유사 산책 블로그 블로그의 첫 페이지로 이동

유사 산책 블로그

페이지 맨 위로 올라가기

유사 산책 블로그

40대 아빠의 소소한 일상 및 달리기

키보드 show/hide 감지하기

  • 2018.11.25 13:38
  • 개발/Flutter

아래 라이브러리를 사용하시면 됩니다.

https://pub.dev/packages/flutter_keyboard_visibility

 

flutter_keyboard_visibility | Flutter Package

Flutter plugin for discovering the state of the soft-keyboard visibility on Android and iOS.

pub.dev


 

이전 내용

키보드 감지는 SatelessWidget에서는 불가능하고 StatefulWidget에 WidgetsBindingObserver를 추가해서 이벤트를 감지할 수 있습니다.

 

추가적으로 textfield에 focusNode를 추가하여 textfield에 focus가 있는지 여부도 같이 확인합니다.

class CommentContainerState extends State     with WidgetsBindingObserver {    final FocusNode focusNode = new FocusNode();    @override   void initState() {     super.initState();     WidgetsBinding.instance.addObserver(this);     focusNode.addListener(focus);   }     @override   void dispose() {     WidgetsBinding.instance.removeObserver(this);     focusNode.removeListener(focus);     focusNode?.dispose();     super.dispose();   }    @override   Widget build(BuildContext context) {     return new Container(child: TextField(                           focusNode: focusNode,                           /* 필요없는 부분 삭제*/                         ));   }    @override   void didChangeMetrics() {     if (!mounted) return;      if (         focusNode.hasFocus &&         MediaQuery.of(context).viewInsets.bottom > 0.0 &&) {      /// 키보드가 내려가는 경우             }     else {      /// 키보드가 올라온 경우      }   } }

didChangeMetrics 함수는 크기가 변경될 때 호출되는 함수입니다. 아마 화면이 회전되는 경우에도 이벤트가 발생할 수 있으니 몇가지 변수를 추가해서 정확하게 체크해야 합니다.

 

현재 화면에서 키보드만 내리고 싶을 때는 아래와 같이 새로운 focusNode를 생성하여 그쪽에 포커스를 넘겨주면 됩니다.

FocusScope.of(context).requestFocus(new FocusNode());

 

저작자표시 비영리 변경금지

'개발 > Flutter' 카테고리의 다른 글

xcode 14 베타 사용시 Invalid Bundle로 배포 안되는 버그 수정  (0) 2022.09.05
캐러셀 리스트뷰 만들기  (0) 2018.12.21
배경이 투명한 페이지 만들기  (0) 2018.12.06
링크 모음  (0) 2018.11.25
상태바, 내비게이션 바 보이기/감추기  (0) 2018.11.25
상태바 투명하게 만들기  (0) 2018.11.25
flutter

댓글

방문자 정보

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 배경이 투명한 페이지 만들기

    배경이 투명한 페이지 만들기

    2018.12.06
  • 링크 모음

    링크 모음

    2018.11.25
  • 상태바, 내비게이션 바 보이기/감추기

    상태바, 내비게이션 바 보이기/감추기

    2018.11.25
  • 상태바 투명하게 만들기

    상태바 투명하게 만들기

    2018.11.25
다른 글 더 둘러보기

정보

유사 산책 블로그 블로그의 첫 페이지로 이동

유사 산책 블로그

  • 유사 산책 블로그의 첫 페이지로 이동

검색

카테고리

  • 분류 전체보기 (305) N
    • 러닝 (127) N
    • 일기 (21)
    • 고양이 (33)
      • 퓨리 (31)
    • 레잇뷰 (28)
      • 집 (5)
    • 취미 (43)
      • 디비전2 (31)
    • 정보 (10)
    • 개발 (11) N
      • Flutter (10) N
    • 일상 (32)

메뉴

  • 소개
  • 러닝
  • EDC
  • 방명록

최근 글

  • 오늘의 러닝 - 2023.03.24

    오늘의 러닝 - 2023.03.24

    2023.03.24
  • 안드로이드 스튜디오에서 invalid java_home 에러 처리

    안드로이드 스튜디오에서 invalid java_home 에러 처리

    2023.03.23
  • 오늘의 일기 - 2023.03.23

    오늘의 일기 - 2023.03.23

    2023.03.23

댓글

  • 커피 문제는 아님
  • 어제 마셨던 커피가 드립이였나봐..
  • 귀엽게 봐주셔서 감사합니다. :)

아카이브

  • 2023/03
  • 2023/02
  • 2023/01

정보

까망고양이의 유사 산책 블로그

유사 산책 블로그

까망고양이

인기 글

  • 오닉스 북스 리프 8개월 사용기(+ 버튼 케이스)

    오닉스 북스 리프 8개월 사용기(+ 버튼 케이스)

    2022.08.23
  • 구글 가족 그룹 추가 안되는 문제 해결기

    구글 가족 그룹 추가 안되는 문제 해결기

    2018.11.27
  • 키보드 show/hide 감지하기

    키보드 show/hide 감지하기

    2018.11.25

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자 216,144
  • 오늘 18
  • 어제 35

나의 외부 링크

  • 스크랩
  • 좋아하는 노래
  • 북마크

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © 까망고양이.

티스토리툴바