找不到 windowSplashScreenAnimatableIcon

问题描述

我想在 Android 12 上自定义启动画面,但出现 AAPT 错误

AAPT: error: style attribute 'android:attr/windowSplashScreenAnimatableIcon' not found.

这里是样式的相关部分:

<style name="SplashTheme" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar">
    <item name="android:windowSplashScreenAnimatableIcon">@drawable/ic_splash</item>
</style>

这是documentation中提到的属性

以下是我正在使用的构建工具库的概述:

compileSdk="android-S"
minSdk=21
targetSdk="S"
buildTools='31.0.0-rc4'

我使用 Android Studio 北极狐 | 2020.3.1 Beta 1 仅供记录。

有人能指出我做错了什么吗?

解决方法

文档似乎是错误的/过时的。正确的属性是:

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

正确的属性列在 R.attr class 中。


如果您的应用中已经有一个使用自定义窗口背景制作的自定义启动画面,那么您可以添加这两行以使其再次按预期工作:

<item name="android:windowBackground">@drawable/splash</item>
<item name="android:windowSplashScreenBackground">@drawable/splash</item>
<item name="android:windowSplashScreenAnimatedIcon">@null</item>

请注意,在这种情况下您会中断动画。但是对于我的用例来说这很好。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...