import 'dart:io'; import 'package:get/get.dart'; import 'package:keyboard/utils/method_chanel_ios_util.dart'; import '../plugins/default_keyboard_monitor.dart'; import '../plugins/keyboard_android_platform.dart'; import '../widget/platform_util.dart'; /// 默认键盘帮助类 class DefaultKeyboardHelper { DefaultKeyboardHelper._(); /// 是否是默认键盘 static RxBool isDefaultKeyboard = false.obs; /// 初始化 static void init() { // 初始化默认键盘监听 if (PlatformUtil.isAndroid) { DefaultKeyboardMonitor.init(); } // 监听默认键盘切换事件 DefaultKeyboardMonitor.registerDefaultKeyboardChangeEvent((isDefault) { _handleDefaultKeyboardChange(isDefault); }); if (PlatformUtil.isAndroid) { // 马上获取一次数据 KeyboardAndroidPlatform.isDefaultKeyboard().then((isDefaultKeyboard) { _handleDefaultKeyboardChange(isDefaultKeyboard); }); } else { MethodChanelIOSUtil.isDefaultKeyboard().then((isDefaultKeyboard) { _handleDefaultKeyboardChange(isDefaultKeyboard); }); } } /// 处理默认键盘切换 static void _handleDefaultKeyboardChange(bool isDefault) { isDefaultKeyboard.value = isDefault; } }