| 123456789101112131415161718192021222324252627282930313233 |
- 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;
- }
- }
|