找不到 windowSplashScreenAnimatableIcon
windowSplashScreenAnimatableIcon not found
我想在 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 Arctic Fox | 2020.3.1 Beta 1 仅供记录。
有人可以指出我做错了什么吗?
文档好像是wrong/outdated。正确的属性是:
<item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_splash</item>
R.attr
class 中列出了正确的属性。
在此答案的先前版本中,我有一种方法可以使启动画面像以前一样工作,但是这不再起作用了。
今天推荐使用splash compat库和这种风格:
<style name="SplashTheme" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@color/ic_launcher_background</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
<item name="postSplashScreenTheme">@style/Your.Normal.Theme</item>
</style>
这有两个假设,即您使用具有默认命名的自适应启动器图标。在我的例子中,ic_launcher_background
是纯色,这就是我使用颜色而不是可绘制前缀的原因。希望对其他人有所帮助。
这是 Google 的 splash migration 指南。
如果您在 pubspec.yaml
中添加 android12: true 就会发生这种情况
对于在自定义初始屏幕时遇到问题的任何人,请确保您使用的是正确的父主题
而不是
<style name="SplashTheme" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:windowSplashScreenAnimatableIcon">@drawable/ic_splash</item>
</style>
使用
<style name="SplashTheme" parent="Theme.SplashScreen">
<item name="android:windowSplashScreenAnimatableIcon">@drawable/ic_splash</item>
<item name="postSplashScreenTheme">@style/Your.Normal.Theme</item>
</style>
我想在 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 Arctic Fox | 2020.3.1 Beta 1 仅供记录。
有人可以指出我做错了什么吗?
文档好像是wrong/outdated。正确的属性是:
<item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_splash</item>
R.attr
class 中列出了正确的属性。
在此答案的先前版本中,我有一种方法可以使启动画面像以前一样工作,但是这不再起作用了。
今天推荐使用splash compat库和这种风格:
<style name="SplashTheme" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@color/ic_launcher_background</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
<item name="postSplashScreenTheme">@style/Your.Normal.Theme</item>
</style>
这有两个假设,即您使用具有默认命名的自适应启动器图标。在我的例子中,ic_launcher_background
是纯色,这就是我使用颜色而不是可绘制前缀的原因。希望对其他人有所帮助。
这是 Google 的 splash migration 指南。
如果您在 pubspec.yaml
中添加 android12: true 就会发生这种情况对于在自定义初始屏幕时遇到问题的任何人,请确保您使用的是正确的父主题
而不是
<style name="SplashTheme" parent="@style/Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:windowSplashScreenAnimatableIcon">@drawable/ic_splash</item>
</style>
使用
<style name="SplashTheme" parent="Theme.SplashScreen">
<item name="android:windowSplashScreenAnimatableIcon">@drawable/ic_splash</item>
<item name="postSplashScreenTheme">@style/Your.Normal.Theme</item>
</style>