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

使用Android SplashScreen API时SVG启动图标显示不全如何解决

问题根因

SplashScreen API对启动图标有明确的尺寸约束,即便使用SVG格式也会被内置蒙版强制裁剪,规则如下:

  • 图标整体画布尺寸要求为288dp×288dp
  • 有效可见内容必须放在内部192dp×192dp的安全区域内,超出安全区的部分会被裁剪,你当前使用的长条形文字SVG横向超出了安全区范围,因此出现显示不全的问题。
  • 你所使用的1.0.0-alpha02属于早期测试版本,本身存在图标适配的已知bug,也可能加剧裁剪异常。

可行解决方案

  1. 升级依赖版本
    优先将SplashScreen依赖升级到正式稳定版,修复早期版本的兼容问题:
implementation "androidx.core:core-splashscreen:1.0.1"
  1. 调整图标适配规则
    不需要修改原SVG文件,新增一个layer-list类型的drawable作为启动图标载体,给原图标添加安全边距,示例代码:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@drawable/ic_disney_wordmark"
        android:width="180dp"
        android:height="180dp"
        android:gravity="center" />
</layer-list>

修改主题配置,将windowSplashScreenAnimatedIcon指向上述新建的layer-list drawable即可。

  1. 使用品牌标识属性适配长条形logo
    如果不想缩小文字logo的显示尺寸,可以使用SplashScreen专门提供的品牌标识属性,该属性的展示区域不受圆形蒙版裁剪限制,位置位于启动页底部:
<item name="windowSplashScreenBrandingImage">@drawable/ic_disney_wordmark</item>

原本的windowSplashScreenAnimatedIcon位置替换为标准尺寸的应用图标即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:24:02