1️⃣ 지원 버전 체크

Android12부터 SplashScreen API로 스플래시 화면을 띄울 수 있다.

Android12 이전에서도 SplashScreen을 사용하고, 추가적인 설정을 하기 위해서는 core-splashscreen 라이브러리를 사용해야 한다.

SplashScreen compat 라이브러리를 사용하면 모든 Android 버전에서 동일한 스플래시 화면을 표시한다.

  1. 라이브러리 의존성 추가

implementation 'androidx.core:core-splashscreen:1.0.0-beta02'

  1. 테마 생성

이때 postSplashScreenTheme의 값을 Activity가 사용해야 하는 테마로 설정해야 한다.

  1. Manifest에 테마 설정

Splash를 실행할 activity에 android:theme="@style/Theme.MusicRoad.Splash" 테마를 설정

4. Activity에 코드 추가

onCreate의 super.onCreate() 전에 installSplashScreen()을 호출하기

2️⃣ 테마 설정

기존 우리 프로젝트의 전체 테마는 android:theme="@style/Theme.MusicRoad"으로 설정되어 있다.

<style name="Theme.MusicRoad" parent="android:Theme.Material.Light.NoActionBar" />

이를 확장해서 splash 테마를 설정할 수 있다.

<style name="Theme.MusicRoad.Splash" parent="Theme.SplashScreen">
    <item name="windowSplashScreenBackground">@color/ic_musicroad_background</item>
    <item name="postSplashScreenTheme">@style/Theme.MusicRoad</item>
</style>