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

Android 12使用core-splashscreen库启动页图标截断问题解决方案

问题根源

API 31及以上版本的原生启动屏对windowSplashScreenAnimatedIcon有固定的圆形裁剪规则:

  • 官方文档标注的288×192dp是启动图标对应的总画布尺寸,并非所有画布区域都能显示:只有画布中心直径192dp的圆形区域是安全显示区,区域外内容会被系统强制裁剪。
  • 你当前的themes.xml配置符合规范,问题出在splash_icon.xml的尺寸配置:第一层透明占位项设置为288dp×288dp的正方形,超出了系统规定的192dp画布高度,导致画布整体错位,实际图标偏移出安全区后就会出现截断。
修复方案

修改splash_icon.xml配置,严格匹配系统尺寸规范,确保实际图标完全落在安全显示区内:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 透明占位层严格匹配系统要求的288dp×192dp画布尺寸 -->
    <item
        android:width="288dp"
        android:height="192dp"
        android:drawable="@android:color/transparent"
        android:gravity="center" />

    <!-- 实际业务图标居中放置,尺寸控制在160dp以内,避免贴到圆形遮罩边缘被裁 -->
    <item
        android:width="144dp"
        android:height="144dp"
        android:drawable="@drawable/ic_baseline_sick"
        android:gravity="center" />
</layer-list>
额外注意事项
  • 不要将启动图标画布设置为正方形,必须严格使用288dp宽、192dp高的尺寸,否则系统缩放画布时会出现错位裁剪。
  • 如果配置的是动画矢量图标,所有动画的运动路径不能超出中心192dp直径的圆形安全区,否则动画过程中会出现内容截断。
  • 适配API30及以下低版本时该规则同样生效,避免不同版本启动图标显示效果不一致。

内容的提问来源于stack exchange,提问作者dylan.kwon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 19:24:31