본문 바로가기
Android

Android Splash 화면 만들기

by holy season 2023. 4. 26.
반응형

단계

  1. drawable에 스플래시에서 사용할 이미지 추가
  2. 스플래시 화면을 보여줄 layout 구현
  3. SplashActivity 작성
  4. SplashActivity를 먼저 실행하게 manifests 수정

drawable에 스플래시에서 사용할 이미지 추가

drawable에 스플래시에서 사용할 이미지를 추가한다.

스플래시 화면을 보여줄 layout 구현

스플래시 화면을 보여줄 layout을 구현한다.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:srcCompat="@drawable/splash_image"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />
</androidx.constraintlayout.widget.ConstraintLayout>

SplashActivity 작성

activity_splash를 보여줄 Splash Activity를 구현한다.

Handler 클래스를 사용해 2초뒤에 MainActivity로 이동하도록 구현하였다.

package com.example.splashproject;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                startActivity(intent);
                finish();
            }
        }, 1000 * 2);
    }
}

SplashActivity를 먼저 실행하게 manifests 수정

만들어둔 SplashActivity를 menifests에 추가하고 원래 있었던 <intent-filter>부분을 SplashActiviy 쪽으로 옮긴다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/Theme.SplashProject"
        tools:targetApi="31">
        <activity android:name=".SplashActivity"
            android:exported="true"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".MainActivity"
            android:exported="true">
        </activity>
    </application>

</manifest>

동작

 

 

반응형

'Android' 카테고리의 다른 글

안드로이드 WebView 전체 화면 설정  (0) 2024.05.24
전체 화면 설정  (0) 2023.04.21
RecyclerView 만들기  (0) 2023.04.18
RecyclerView  (0) 2023.04.16
VideoView로 동영상 재생하기  (0) 2023.04.12