2

我们目前正在通过新的 Splashscreen API 实现启动画面。我们正在遵循迁移指南。背景颜色设置正确(按windowSplashScreenBackground),但图标不可见,无论是在模拟器上还是在物理设备上。

构建.gradle

android {
    compileSdkVersion 31
    ...
}

dependencies {
    implementation "androidx.core:core-splashscreen:1.0.0-alpha01"
    ...
}

值-v31/themes.xml

<style name="AppTheme" parent="Theme.SplashScreen">
    <item name="postSplashScreenTheme">@style/AppThemeCompat</item>
    <item name="windowSplashScreenBackground">@android:color/black</item>
    <item name="windowSplashScreenAnimatedIcon">@mipmap/ic_launcher</item>
    <item name="windowSplashScreenAnimationDuration">200</item>
</style>

AndroidManifest.xml

<application
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    ...
</application>

MainActivity.kt

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen()
    ...
}
4

1 回答 1

3

我直接回答这个问题,因为我们在一两个小时内找到了可以从其他开发人员那里保存的问题的解决方案:

从 Android Studio 启动应用程序时,Splashscreen API 设置的图标不起作用。如果应用程序关闭然后重新启动,则图标会正确显示。

由于此库的早期 alpha 状态,可能存在此错误,据称将在 Splashscreen API 的未来版本中修复。

于 2021-10-21T05:22:23.247 回答