首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >安卓 15/16 手机软键盘遮挡输入框、布局顶不上去?已解决:重新编译即可

安卓 15/16 手机软键盘遮挡输入框、布局顶不上去?已解决:重新编译即可

原创
作者头像
用户10956490
发布于 2026-11-02 14:00:36
发布于 2026-11-02 14:00:36
840
举报

一句话结论:这是安卓 15 起「强制全面屏」新机制与老运行时的兼容问题,App Inventor 2 中文网编译服务 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,不会出现。

和全屏设置有关系吗?没有关系,不开全屏同样受影响。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 症状:你是不是遇到了这个?
  • 一分钟自测
  • 原因:安卓 15 起「强制全面屏」
  • 受影响范围速查
  • 怎么解决
  • 常见问题
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档