本文介绍了Android 12闪屏图标不显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现我正在启动的一个新应用程序有一个奇怪的问题。我正在使用新的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闪屏图标不显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 17:24