Framework

[Android] Splash Screen 만들기 + 아이콘 안 보이는 이슈 해결 방법

Jonnie 2022. 1. 1. 13:24

Splash Screen이란?

어플리케이션이 실ㅍ행될 때 나타나는 시작 화면으로 런치 스크린(Launch Screen)이라고도 한다

약 2초간 실행된다

 

 

drawable/splash.xml (파일 생성)

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:color/background_dark" />   //배경색 지정
    <item> <bitmap android:src="@drawable/github_wh_sm" android:gravity="center" /> </item> //아이콘 지정
</layer-list>

 

values/themes/themes.xml (코드 추가)

<style name="SplashTheme" parent="Theme.TapTest.NoActionBar">
    <item name="android:windowBackground">@drawable/splash</item>
</style>

 

app/src/main/AndroidManifest (코드 변경)

<activity
    android:name=".MainActivity"
    android:exported="true"
    android:label="@string/app_name"
    android:theme="@style/SplashTheme" //수정할 부분    
>

 

 

MainActivity.java (코드 추가)

protected void onCreate(Bundle savedInstanceState) {

    setTheme(R.style.Theme_TapTest_NoActionBar);  //추가할 부분
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

}

 

 

위 Splash Screen을 적용했는데 배경색은 나오지만 아이콘이 보이지 않는다면 에뮬레이터의 버전을 확인해보자!

 

찾아보니 23버전 이상은 가능하다는 이야기가 많았는데 내가 사용한 31버전에서는 아이콘이 작동하지 않았다.

이에 30버전으로 에뮬레이터를 변경하니 잘 실행되었다.