MediaQuery.of(context).viewInsets.bottom
키보드의 높이를 받아올 수 있다.
키보드의 높이에 따라 버튼의 위치를 조정해주면 끝!
class NicknameInputPage extends StatelessWidget {
static const String routeName = '/nickname_input';
const NicknameInputPage({super.key});
Widget build(BuildContext context) {
return DismissKeyboard(
child: Scaffold(
resizeToAvoidBottomInset: false,
appBar: CustomAppBar(
leading: IconButton(
icon: SvgPicture.asset(CGIcon.icArrowLeft),
onPressed: () {
Navigator.of(context).pop();
},
),
),
body: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Padding(
padding: EdgeInsets.symmetric(horizontal: Const.spacing.s20),
child: const Text('닉네임을 입력해주세요.', style: CGTextStyle.title2),
),
Padding(
padding: EdgeInsets.symmetric(horizontal: Const.spacing.s20),
child: CustomLineTextField(
controller: TextEditingController(),
hintText: '닉네임은 8글자 이하로 설정해주세요.',
),
),
const SizedBox(height: 20.0),
**const Spacer(),**
ElevatedButton(
onPressed: () {
},
child: Text('버튼'),
),
**SizedBox(height: MediaQuery.of(context).viewInsets.bottom),**
],
),
),
);
}
}