import 'dart:core'; import 'package:flutter/cupertino.dart'; import 'package:news_app/constant/size_res.dart'; /// @author: bo.zeng /// @email: cnhbwds@gmail.com /// @date: 2025 2025/4/17 15:21 /// @description: class KeyboardUtils { /// 显示软键盘 static void showKeyboard(BuildContext context, FocusNode focusNode) { FocusScope.of(context).requestFocus(focusNode); } /// 隐藏软键盘 static void hideKeyboard(FocusNode focusNode) { focusNode.unfocus(); } /// 判断软键盘是否可见 static bool isKeyboardVisible(FocusNode focusNode) { return focusNode.hasFocus; } /// 获取键盘高度(如果弹出则返回高度,否则为 0) static double keyboardHeight(BuildContext context) { final rawKeyboardHeight = MediaQuery.of(context).viewInsets.bottom; final estimatedKeyboardHeight = rawKeyboardHeight - horizontalPadding; // 经验值,避免过高 return estimatedKeyboardHeight > 0 ? estimatedKeyboardHeight : 0; } }