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()