一句话结论:这是安卓 15 起「强制全面屏」新机制与老运行时的兼容问题,中文网编译服务 2026 年 10 月起已修复——不用改任何积木、属性、屏幕设置,把项目重新编译一次、装上新 APK 就好。
症状:你是不是遇到了这个?
典型场景(用户实测复现):
- 布局:垂直布局(高度充满)里放一个滚动布局,滚动布局里放文本输入框;
- 点文本输入框,软键盘弹出,键盘直接把输入框挡住,整个界面没有被顶上去,滚动布局怎么滚都露不出那个输入框;
- 换安卓 10 的手机:一切正常;
- 换 2025 年 8 月以前编译的老 APK(目标安卓 14):同一部安卓 16 手机上也正常。
只要「新编译的 APK + 安卓 15/16 手机 + 键盘遮挡内容」同时出现,就是本文这个问题。
Kodular、MIT App Inventor 官方版的用户在 Android 16(API 36)上也报告了同样现象(弹出键盘后界面被盖住、使用百分比尺寸的布局整体变形),根源相同。
一分钟自测
- 新建项目,搭最小复现布局:垂直布局(高度=充满)→ 滚动布局 → 文本输入框,再往滚动布局里放几个按钮把内容撑得比屏幕高;
- 编译 APK,装到安卓 15/16 手机;
- 点文本输入框:
- 已修复的 APK:键盘弹出,可用区域自动变矮,滚动布局能把输入框滚到眼前,始终看得见;
- 未修复的旧 APK:键盘浮在内容上,怎么滚输入框都藏在键盘后面。
想了解更多让内容可滚动的做法:允许屏幕滚动、允许布局滚动。
原因:安卓 15 起「强制全面屏」
通俗版:从安卓 15 开始,只要 App 的目标 SDK 是 35 及以上(各应用商店上架也已要求),系统就强制 App「边到边」(edge-to-edge)绘制——内容铺满整块屏幕,状态栏、导航栏、软键盘都浮在 App 上面。键盘弹出时,系统不再把窗口顶小,只是把「键盘有多高」这个数值告诉 App,需要 App 自己把内容区收上来。老版本运行时只处理了导航栏、没处理键盘,内容区不缩短,滚动布局自然滚不进去——这就是「顶不上去」。
技术版:targetSdkVersion ≥ 35 后 windowSoftInputMode=adjustResize 不再缩小窗口,键盘高度改经 WindowInsets(Type.ime())下发。框架在 AppInventorCompatActivity 的 insets 监听里把内容区底部内边距改为 max(导航栏高度, 键盘高度),键盘弹出、收起实时重算,布局随之压缩,滚动布局就能把输入框滚进可视区。
顺带一提:MIT 官方上游的同类修复用的是「导航栏+键盘」相加,键盘弹出时键盘上方会多出一条导航栏高的空隙;中文网取 max,严丝合缝,不会多出空条。
受影响范围速查
受影响的是 2025-08-20 至 2026-10-23 期间编译的 APK;更早的老 APK(目标安卓 14 及以前)不受影响。
| 手机系统 | APK 编译时间/目标 | 表现 |
|---|---|---|
| 安卓 15 / 16 | 上述窗口期编译(目标 35) | 键盘遮挡 ❌ |
| 安卓 15 / 16 | 2026-10-23 后重新编译 | 正常 ✅ |
| 安卓 15 / 16 | 2025-08 前的老 APK(目标 34 及以前) | 正常 ✅ |
| 安卓 14 及以下手机 | 任意 | 正常 ✅ |
鸿蒙版、iOS 版不受影响——这是安卓系统独有的行为变化。
怎么解决
- 打开 www.fun123.cn,进入你的项目;
- 直接重新编译 APK(或 AAB);
- 卸掉手机上的旧版,装上新 APK,点文本输入框验证。
不需要改任何积木、属性、屏幕设置。用 AI 伴侣实时调试时如遇到同样遮挡,重新下载最新版伴侣再连。
常见问题
为什么安卓 10 的手机没事?
「强制全面屏」是安卓 15 才开始执行的机制;老系统上,键盘弹出时系统仍会按传统方式缩小窗口,所以一切照旧。
为什么以前编译的老 APK 也没事?
2025 年 8 月以前的 APK 目标是安卓 14,不触发强制全面屏。但目标 SDK 太低会被应用商店拒审,「一直用旧目标编译」不是长久之计。
Kodular、MIT 官方版也这样吗?
同样的机制,他们社区在 Android 16 上有同样的报告。中文网 2026 年 10 月已修复,重新编译即可。
键盘上方出现一条空白是怎么回事?
那是「导航栏+键盘相加」算法的现象,中文网实现取 max,不会出现。
和全屏设置有关系吗?
没有关系,不开全屏同样受影响。全屏设置见如何去掉顶部标题栏实现全屏。
扫码添加客服咨询