Вместе c Android 12 разработчики предоставили новую API для создания сплеш-скринов. А так же с этой версией Android splash screen генерируется.

Стандарт google минималистичен, логотип по середине. По желанию, можно добавить брендинг внизу. Так же для логотипа можно добавить анимацию, но только для 12 android и выше. Подробнее про требования тут

Screenshot 2022-09-08 at 13.58.23.png

Устанавливаем цвет фона сплеша

<item name="android:windowSplashScreenBackground">@color/...</item>

Устанавливаем иконку сплеша

По умолчанию берется иконка приложения

<item name="android:windowSplashScreenAnimatedIcon">@drawable/...</item>

Сложность тут в том, что иконка должна быть определенного размера (см док.) Например, для иконки без заднего фона я изменил android:viewport по требованиям И сместил изображения в середину

<vector xmlns:android="<http://schemas.android.com/apk/res/android>"
    android:width="150dp"
    android:height="150dp"
    android:viewportWidth="192"
    android:viewportHeight="192">
    <group
        android:translateX="20"
        android:translateY="19.5">
		</group>
</vector>

Так же можно использовать анимированную иконку в формате Animated Vector Drawable (AVD) XML.

Время проигрывания анимации

<item name="android:windowSplashScreenAnimationDuration">1000</item>

Цвет заднего фона иконки

<item name="android:windowSplashScreenIconBackgroundColor">@color/...</item>

Брендинг

<item name="android:windowSplashScreenBrandingImage">@drawable/...</item>

Тут сложность в том, что картинку размазывает, чтобы это пофиксить, drawable стоит обернуть в

<layer-list xmlns:android="<http://schemas.android.com/apk/res/android>">
    <item
        android:drawable="@drawable/ic_livetyping"
        android:gravity="center" />
</layer-list>