티스토리 뷰
[Android/Java] Android Splash Activity 사용 방법 | Splash Activity 예제 코드 | 안드로이드 로딩 화면 구현하기
Jingni 징니 2020. 12. 5. 01:44
[Android/Java]
Android Splash Activity 구현 방법
안드로이드 어플리케이션을 만들 때,
실행하면 처음으로 떴다가 사라지는 로딩 화면을 다들 보셨을겁니다.
이번 게시물에서는 이 로딩 화면 (Splash Screen)을 띄울 때 사용하는
Splash Acrtivity를 구현하는 방법에 대해 설명해보고자 합니다.
예시 코드도 첨부할 예정이니 따라하시는데 불편함이 없을거라 생각합니다.
Splash Screen이란 ?
이미지, 로고 및 소프트웨어의 현재 버전을 포함하는 창으로 구성된 그래픽 제어 요소.
게임이나 프로그램이 시작되는 동안 일정 시간동안 스플래시 화면이 나타나며,
스플래시 화면은 주로 웹 사이트의 소개 페이지를 의미한다.
출처 : en.wikipedia.org/wiki/Splash_screen
Splash Screen 구현 방법 ?
1. Screen Image 만들기
splash screen으로 사용할 이미지를 만들어 drawable에 복사해줍니다.
저는 임의로 2020 팬톤컬러인 Classic Blue를 이용하여 샘플 이미지를 만들어주었습니다.
2. style.xml 내용 추가
<resources>
<style name="SplashActivityTheme" parent="Theme.AppCompat.NoActionBar" >
<item name="android:windowBackground">@drawable/test_splash</item>
</style>
</resources>
style.xml에서 drawable에 넣어준 image를 background에 넣어줍니다.
다음과 같이 xml 코드를 설정하면 레이아웃을 따로 추가하지 않아도 쉽게 splash screen을 구현할 수 있습니다.
여기서 test_splash는 샘플 이미지 파일명입니다.
3. Activity 생성
package com.example.project.sample;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
public class SplashActivity extends AppCompatActivity {
private static final String Tag = "SplashActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startLoading();
}
private void startLoading() {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Log.e(Tag,"Application Running.....");
// Splash Screen이 뜨고 나서 실행될 Activity 연결
startActivity(new Intent(getApplicationContext(), LoginActivity.class));
finish();
}
}, 2000);
}
}
다음과 같이 Splash Activity를 생성해줍니다.
run() 함수 부분에 반드시 Splash Screen이 뜨고 나서 바로 연결될 Activity를 StartActivity 함수로 선언해 줍니다.
postDelayed 함수를 사용하여 Splash Screen 화면이 유지되는 시간도 변경 가능합니다.
4. AndroidManifest.xml 수정
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.project.sample">
<application
...
<activity
android:name=".SplashActivity"
android:theme="@style/SplashActivityTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
마지막으로 AndroidManifest.xml에 생성한 SplashActivity를 연결해주면 구현 완료 !!
실행해보면 이쁘게 화면이 뜨는 것을
확인해볼 수 있습니다 !!
도움이 되셨다면 공감,
혹시나 질문이나 오타, 틀린 부분이 있다면 댓글 남겨주세요 !!
감사합니다 :)