You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

API28下isAppearanceLightStatusBars等组合使用致Fragment宽高为0

API28 系统栏API迁移结合共享元素转场触发布局消失问题
  • 原有状态栏控制逻辑:应用此前通过systemUiVisibility切换SYSTEM_UI_FLAG_LIGHT_STATUS_BAR配置实现浅色状态栏效果,因该API已废弃,计划迁移到WindowCompat.setDecorFitsSystemWindows搭配windowInsetsControllerCompat.isAppearanceLightStatusBars实现同等能力。
  • 异常影响版本:仅在API 28设备上出现异常,API 29及以上版本运行无问题,疑似低版本系统原生Bug。
  • 异常触发前提:Activity布局根节点设置了OnApplyWindowInsetsListener用于适配IME弹出/收起状态,同时两个Fragment之间实现了共享元素转场动画,两个能力同时启用时就会触发布局异常。
  • 异常具体表现:转场结束后目标Fragment的根视图宽高被设置为0,页面内容完全消失。

布局检查器截图

该问题触发逻辑较难通过纯文字完整描述,已编写极简复现工程验证触发路径。
实际运行异常效果:跳转后本应展示第二个Fragment的内容,但页面无任何可见元素,效果如下:
问题表现动图


内容的提问来源于stack exchange,提问作者Jonathan Caryl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 03:21:40