앱에서 텍스트를 입력받을 때, 키보드가 하단에서 팝업된다.
뒤로가기 등으로 키보드가 내려갈 때를 감지해야한다면 해당 패키지를 사용하면 된다.
예를 들어 Textfield에 포커스가 되고 키보드가 팝업되며 특정 위젯이 바뀌었는데,
사용자가 뒤로가기로 키보드를 내리는 경우 특정 위젯을 되돌려놓아야하는 경우가 있겠다.
코드
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 |