Android 12 заставка на белом фоне

Я пытался добавить поддержку заставки Android 12. Вот мой v31/styles.xml

      <resources>

<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:navigationBarColor">@android:color/transparent</item>
    <item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
    <item name="android:windowSplashScreenIconBackgroundColor">#FF3044</item>
    <item name="android:windowSplashScreenBackground">#FF3044</item>
</style>

</resources>

После новой заставки я вижу белый экран. Этот белый экран - это android:windowBackground но если бы я попытался установить его как @null, У меня на месте белого экрана появляется инвертированный всплеск. Как удалить этот белый фон после всплеска? Полагаю, Splash API был разработан для замены windowBackground.

1 ответ

Проблема в том, что вы возвращаетесь true и удаление OnPreDrawListener после запроса перехода к другому вашему действию, который указывает системе, что ваше текущее действие теперь готово к рисованию, но следующее еще не видно, следовательно, вы видите вспышку.

Просто всегда возвращайся false в предварительном прослушивателе и удалите его в onStop()

Другие вопросы по тегам