Flutter项目在Android12设备上点击输入框键盘不显示如何解决?
问题根因
你使用的Flutter 2.2.3稳定版发布时间早于*Android12(API 31)*正式版,未适配Android12的软窗口Insets计算逻辑,当编译使用Android SDK 31时,就会出现输入框聚焦后仅触发蒙层、无法渲染键盘界面的问题,该问题属于旧版Flutter的已知兼容缺陷。
解决方案
1. 优先方案:升级Flutter稳定版
将Flutter升级到2.10.0及以上的稳定版本,该版本已官方修复Android12软键盘兼容问题:
- 执行升级命令:
flutter upgrade
- 升级后验证项目三方依赖兼容性,重新编译运行即可解决问题。
2. 临时兼容方案(暂不升级Flutter版本)
如果当前项目架构暂不支持升级Flutter版本,可通过修改Android端配置规避问题:
- 打开项目
android/app/build.gradle文件,将编译SDK版本降级为30:
compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig { minSdkVersion 24 targetSdkVersion 30 // 其余原有配置保持不变 }
- 打开
android/build.gradle文件,确认Android Gradle插件版本适配30的编译SDK:
dependencies { classpath 'com.android.tools.build:gradle:4.1.0' // 其余原有配置保持不变 }
- 清理编译缓存后重新运行项目:
flutter clean flutter run
内容的提问来源于stack exchange,提问作者Sharan Singh
相关产品推荐
相关产品推荐

