问题描述
我发现我正在启动的一个新应用程序有一个奇怪的问题。我正在使用新的Android 12闪屏API来创建我的闪屏,并且我遵循guide provided by Google来这样做。我在我的项目中加入了核心闪屏,以提供与旧版Android操作系统的兼容性。当我运行这款应用程序时,我在API 30等较旧的操作系统版本上看到了预期的闪屏,但当我在API 31上运行它时,我提供的闪屏图标没有显示。将显示我指定的背景颜色,但图标根本不在那里。我已经用可抽出的资产和mipmap尝试过了,但都不起作用。我被难住了,因为我找到的每个教程都显示了我遵循的相同步骤,以及他们工作的初始屏幕的屏幕截图,但我一点运气都没有。
以下是我对v31的闪屏样式定义:
<style name="Theme.Splash" parent="Theme.SplashScreen">
<item name="android:windowSplashScreenBackground">@color/orange_7A</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/splash_foreground</item>
<item name="postSplashScreenTheme">@style/Theme.App</item>
</style>
我对所有其他操作系统版本都有相同的样式,但我使用的是&windowSplashScreenAnimatedIcon而不是";android:windowSplashScreenAnimatedIcon";.我已经尝试了v31,在物品名称前面加和不加&android:都不起作用。以下是我的MainActivity.kt:class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
installSplashScreen()
setContent {
MyVeevaTheme {
Login()
}
}
}
我还在我的androidManifest.xml中将&qot;android:heme";属性设置为我的spash样式。我知道Splash风格正在应用,因为它尊重背景颜色,但由于某种原因,它没有显示图标,尽管图标在较旧的操作系统版本上显示得很好。预先感谢您所能提供的任何帮助。
推荐答案
tl;dr终止应用程序并从启动程序运行,从Android Studio运行时不显示图标。
将我的评论添加到此处作为答复以获得更好的可见性。
我确实想出了如何让它显示出来。我按照this tutorial建立了一个基础项目来重新创建这个问题,我注意到作者在底部附近放置的注释提到,只运行应用程序并不能显示完整的闪屏。你必须杀了它,然后从启动器打开应用程序。一旦我这样做了,我就可以看到我的闪屏了。很烦人,但至少我现在有办法测试它。我也为此记录了bug report,但我现在有一个变通办法。感谢大家的回复/评论!
这篇关于Android 12闪屏图标不显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!