[Flutter] 키보드 팝업 상태에서 뒤로가기 이벤트 처리

2020. 9. 24. 22:01·Flutter/Flutter Tech

앱에서 텍스트를 입력받을 때, 키보드가 하단에서 팝업된다.

뒤로가기 등으로 키보드가 내려갈 때를 감지해야한다면 해당 패키지를 사용하면 된다.

 

예를 들어 Textfield에 포커스가 되고 키보드가 팝업되며 특정 위젯이 바뀌었는데,

사용자가 뒤로가기로 키보드를 내리는 경우 특정 위젯을 되돌려놓아야하는 경우가 있겠다.

 

 

keyboard_visibility | Flutter Package

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

pub.dev

 

코드

void initState(){
	
    KeyboardVisibilityNotification().addNewListener(
    	onHide : () { //키보드가 내려갔을 때
        	_searchrecord = false; //동작부
        }
        ...
        )
        

onHide이외에도 onShow와 onChange가 있다.

 

예시 코드

import 'package:flutter/material.dart';
import 'package:keyboard_visibility/keyboard_visibility.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  GlobalKey<ScaffoldState> _key;

  @override
  void initState() {
    super.initState();
    _key = GlobalKey<ScaffoldState>();
    KeyboardVisibilityNotification().addNewListener(
      onHide: () {
        _key.currentState.showSnackBar(
          SnackBar(
            content: Text("Keyboard closed"),
          ),
        );
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        key: _key,
        body: Center(
          child: TextField(),
        ),
      ),
    );
  }
}

키보드가 내려가면 스낵바가 출력되도록 하는 예제이다.

 

출처 : stackoverflow

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

'Flutter > Flutter Tech' 카테고리의 다른 글

[플러터] 파일을 cache 저장소에 저장하기  (0) 2020.12.25
[플러터] 이미지를 cache 저장소에 저장하기  (0) 2020.12.22
[플러터] 위젯의 크기&위치를 반환받는 법  (0) 2020.12.15
[플러터] 자식 클래스에서 부모 클래스에 데이터 전달  (0) 2020.11.19
[Flutter] 선택된 위젯을 관리하는 Focusnode  (0) 2020.09.24
'Flutter/Flutter Tech' 카테고리의 다른 글
  • [플러터] 이미지를 cache 저장소에 저장하기
  • [플러터] 위젯의 크기&위치를 반환받는 법
  • [플러터] 자식 클래스에서 부모 클래스에 데이터 전달
  • [Flutter] 선택된 위젯을 관리하는 Focusnode
박유상의 개발블로그
박유상의 개발블로그
개발블로그
  • 박유상의 개발블로그
    박유상의 개발블로그
    박유상의 개발블로그
  • 전체
    오늘
    어제
    • 전체 (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
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박유상의 개발블로그
[Flutter] 키보드 팝업 상태에서 뒤로가기 이벤트 처리
상단으로

티스토리툴바