class DismissKeyboard extends StatelessWidget {
final Widget child;
const DismissKeyboard({Key? key, required this.child}) : super(key: key);
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus &&
currentFocus.focusedChild != null) {
FocusManager.instance.primaryFocus?.unfocus();
}
},
child: child,
);
}
}
기능이 필요한 곳에 사용하면된다 !!
build(BuildContext context) {
return DismissKeyboard(
child: Scaffold(
appBar: CGAppBar(
leading: IconButton(
icon: SvgPicture.asset(CGIcon.icArrowLeft),
onPressed: () {
Navigator.of(context).pop();
},
),
),
body: SafeArea(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const Text('닉네임을 입력해주세요.', style: CGTextStyle.title2),
CustomLineTextField(
controller: TextEditingController(),
hintText: '닉네임은 8글자 이하로 설정해주세요.')
],
),
),
),
);
}
Widget