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

Android部分横屏设备中windowSplashScreenBrandingImage覆盖AnimatedIcon问题

解决Android启动屏横屏模式下BrandingImage覆盖AnimatedIcon的问题

你可以通过自定义Drawable来控制AnimatedIcon的最大尺寸、边距,以及BrandingImage的位置,彻底解决横屏模式下的元素重叠问题,具体方案如下:

1. 限制AnimatedIcon的尺寸与边距

创建一个包裹原生图标的Drawable文件(例如res/drawable/splash_icon_wrapper.xml),通过layer-list固定图标尺寸并添加内边距,避免它在横屏时过度占用空间:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:width="120dp"
        android:height="120dp"
        android:gravity="center"
        android:padding="16dp">
        <bitmap android:src="@drawable/block" />
    </item>
</layer-list>

然后在你的启动屏样式中替换原图标引用:

<item name="android:windowSplashScreenAnimatedIcon">@drawable/splash_icon_wrapper</item>

2. 调整BrandingImage的位置与边距

同样创建一个BrandingImage的包裹Drawable(例如res/drawable/branding_wrapper.xml),通过gravity指定固定位置(如右下角)并添加外边距,让它避开AnimatedIcon的区域:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:gravity="bottom|end"
        android:margin="24dp">
        <bitmap android:src="@drawable/arborisoft_branding" />
    </item>
</layer-list>

更新样式中的BrandingImage引用:

<item name="android:windowSplashScreenBrandingImage">@drawable/branding_wrapper</item>

3. 额外优化:适配不同屏幕尺寸

如果部分设备仍有问题,可以在values和values-land目录下分别创建不同的Drawable配置,针对横屏模式单独调整尺寸和边距参数,确保在各类设备上都能正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:54:22