default_keyboard_helper.dart 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import 'dart:io';
  2. import 'package:get/get.dart';
  3. import 'package:keyboard/utils/method_chanel_ios_util.dart';
  4. import '../plugins/default_keyboard_monitor.dart';
  5. import '../plugins/keyboard_android_platform.dart';
  6. /// 默认键盘帮助类
  7. class DefaultKeyboardHelper {
  8. DefaultKeyboardHelper._();
  9. /// 是否是默认键盘
  10. static RxBool isDefaultKeyboard = false.obs;
  11. /// 初始化
  12. static void init() {
  13. // 初始化默认键盘监听
  14. DefaultKeyboardMonitor.init();
  15. // 监听默认键盘切换事件
  16. DefaultKeyboardMonitor.registerDefaultKeyboardChangeEvent((isDefault) {
  17. _handleDefaultKeyboardChange(isDefault);
  18. });
  19. if (Platform.isAndroid) {
  20. // 马上获取一次数据
  21. KeyboardAndroidPlatform.isDefaultKeyboard().then((isDefaultKeyboard) {
  22. _handleDefaultKeyboardChange(isDefaultKeyboard);
  23. });
  24. } else {
  25. MethodChanelIOSUtil.isDefaultKeyboard().then((isDefaultKeyboard) {
  26. _handleDefaultKeyboardChange(isDefaultKeyboard);
  27. });
  28. }
  29. }
  30. /// 处理默认键盘切换
  31. static void _handleDefaultKeyboardChange(bool isDefault) {
  32. isDefaultKeyboard.value = isDefault;
  33. }
  34. }