본문 바로가기

Kotlin/안드로이드 공부

안드로이드 Splash Screen Disable 처리

728x90

결론부터 말하자면 Disable 이 불가능하다.

 

선택지는 3개가 될 것 같다.

1. 기본 스플래시 표출 -> 기존 스플래시 표출

두개가 순차적으로 보여지며 실제로 이렇게 2개가 뜨는 앱도 많다.

Ex)  무신사, 쿠팡, 윌라 오디오북, 오늘의

 

 

2-1. 기본 스플래시를 투명 처리하고 기존 스플래시만 사용

테마 속성을 통해 기본 스플래시를 투명 처리할 수 있다고는 하지만,

말그대로 투명처리일 뿐 실제 동작이 스킵되는 것은 아니기 때문에 오히려 앱 시작 속도가 느리다고 생각될 것 같다.  

투명이 아니더라도 아이콘 없이 흰색, 검은색으로 보여주고 기존 스플래시 화면이 나오는 경우도 있는 듯하다. 

Ex) 카카오 페이지(검정 화면), 요기요 ( 화면)

 

더보기

이렇게 하면 투명처리 된다했는데 나는 아무리 해도 안됨

<item name="android:windowDisablePreview">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>

 

2-2. 기본 스플래시에서 아이콘 투명처리

<item name="android:windowSplashScreenAnimatedIcon" tools:targetApi="S">@android:color/transparent</item>

android 13 부터는 android:windowSplashScreenBehavior 속성을 이용하면 된다.

 

 

3. 기본 스플래시만 사용 (기존 스플래시를 기본 스플래시로 마이그레이션하는 경우도 포함)

기본 아이콘만 사용해도 되고, 배경색이나 아이콘 등을 커스텀해도 된다.

다른 앱들을 실행시켜보니 스플래시 화면이 하나처럼 보이는 자연스러운 앱들이 있던데 애니메이션 드로어블을 넣은 것이 아닐까 추측해본다.

마이그레이션 하는 경우 아이콘 크기 등 디자인 규정에 맞춰야 하며, 백그라운드에서 일어나는 처리까지 옮겨야 한다.

동적 Ex) 구글 기본 앱 (유튜브, 지메일, 구글맵, 드라이브 등) => 12 이전 버전에서는 애니메이션이나 스플래시 자체가 없음 

정적 Ex) 카카오톡, 크롬, 네이버