본문 바로가기
시작하는 개발 노트/안드로이드 어플

안드로이드 앱 만들기 - 3. Splash Screen(앱 실행 화면, 앱 실행 배경) 구현

by 개발하는언니 2020. 12. 28.

오늘은 조금 더 예쁜 어플을 만들기 위해 앱이 실행될 때 나타나는 화면인 Splash Screen를 구현해 보도록 하겠습니다.

 

Splash Screen은 앱이 실행되면 처음으로 뜨는 화면으로 애니메이션부터 이미지등을 첫 실행 시 보여질 수 있게 도와주는 화면입니다.

 

1) app>res>drawbale 폴더 안에 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/white" /> 
  <item> 
    <bitmap 
      android:src="@drawable/meosplash1" 
      android:gravity="center"/>
<!-- 자신의 만든 로딩 화면 이미지 경로를 넣습니다 -->
  </item> 
</layer-list>

위 생성된 splash.xml 파일에 위 코드를 아래와 같이 붙여넣기해 줍니다. (빨간 네모는 자신의 이미지 경로)

 

 

@android:color/white-> Splash 배경 색상 혹은 이미지
@drawable/meosplash1 -> 자신의 이미지 경로

splash 배경으로 색상을 넣는 것을 추천드립니다. 이미지로 넣으시면 기종마다 화면 비율이 달라 이미지가 깨질 수 있어요!

 

2) app>res>values>themes.xml 에 밑의 코드를 추가합니다. (night에도 동일하게 적용)

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- 나의 themes 기본 설정 -->
  <item name="colorPrimary">@color/colorPrimary</item>
  <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
  <item name="colorAccent">@color/colorAccent</item>
</style>
<!-- 생성할 Splash theme -->
<style name="MeoSplashTheme" parent="Theme.AppCompat.NoActionBar">
  <item name="android:windowBackground">@drawable/splash</item>
</style>

위 코드를 아래 이미지와 같이 붙여넣기해 줍니다.

>>> 코드 설명

<1>style 태그 생성 후 parent는 NoActionBar(상단의 타이틀 표시부분 없어짐)으로 작성합니다.

<2>item 태그를 만들고, 태그 안에는 drawable/drawable 폴더에 넣어 놓은 splash 화면으로 사용 할 파일의 이름을 넣습니다.

 

 

 

3) AndroidManifest.xml의 Activity에 MeoSplashTheme를 적용합니다.

<activity
  android:name=".SplashActivity"
  android:theme="@style/MeoSplashTheme"><!-- /values/styles.xml 에서 생성 -->
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
<activity android:name=".MainActivity" />

위의 코드를 아래 이미지와 같이 붙여넣기 합니다.

 

 

4) app>java>패키지폴더에 SplashActivity를 새로 생성한 후 아래 코드를 붙여넣습니다. 

import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity

class SplashActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  // 메인 액티비티 시작하기
  startActivity(Intent(this@SplashActivity, MainActivity::class.java))
  // 스플래시 액티비티 끝내기
  finish()
  }
}

위의 코드를 아래 이미지와 같이 붙여넣기 합니다.

 

여기까지 안드로이드 스튜디오 4.0에 스플래시 적용하기 였습니다 :)

 

고맙습니다! 

댓글