IT/Android studio

[Android] Splash(스플래시) 화면 만드는 방법 - 자바

Buang 2023. 4. 4. 23:19
반응형

실행결과

 

 

파랑색으로 jj라고 써져있는 이미지가 맨 처음 3초 동안 뜨고

그다음 Hello World란 문구가 쓰인 MainActivity로 넘어가는 걸 만들고자 한다.

 

 

 

즉 위의 jj 화면(splash화면)이 먼저 뜨고

3초 뒤에

 

 

HelloWorld가 적혀있는 MainActivity 화면으로 전환하고자 한다.

 

요약하자면 jj 화면 뜸 > 3초 뒤 > MainActivity 화면으로 전환된다.

 

 

SplashAcitivy 파일 생성하기

 

 

com.example.clubman을 마우스 우클릭하고

New > Java Class 를 클릭한다.

 

 

SplashActivity란 이름으로 파일을 하나 생성한다.

 


//splash 화면이다.
// 3초동안 splash 화면이 뜨고, MainActivity로 이동한다.

public
class SplashActivity extends AppCompatActivity {

    protected  void onCreate( Bundle savedInstance) {
        super.onCreate(savedInstance);
        setContentView(R.layout.splash);

        //splash 3초 동안 뜨게 한다.
        Handler hd = new Handler();
        hd.postDelayed(new splashHandler(), 3000); //3000은 3초란 뜻이다. 1000은 1초다.
        //postDelayed 메서드를 통해 3초 뒤에 SplashHandler 작동하도록 설정
    }

    //SplashHandler 클래스 생성
    private class splashHandler implements Runnable {
        public  void run() {
            startActivity(new Intent(getApplication(), MainActivity.class));
            SplashActivity.this.finish();
        }
    }

}

 

SplashActivity 파일에 위의 코드를 복사 붙여넣기 해준다.

 

 

splash.xml 만들기

 

res 폴더 아래있는 drawable 폴더 안에 

이미지를 한 개 넣어준다.

 

나는 바탕화면에 'jj_splash.png'라는 이미지를 저장해 놨는 데

그 이미지를 클릭한 상태로 'drawable' 폴더까지 끌어와서 넣어주면 된다.

 

이미지를 끌어와서 drawable 폴더에 넣어주면

Refactor하겠냐는 창이 뜰 텐데 Refactor 하겠다고 눌러주면 된다.

 

 

이제 splash.xml 파일을 만들 차례다.

res 폴더 아래 있는 layout 폴더를 마우스 우클릭 한 다음

New > Layout Resource File을 클릭해 준 뒤

 

 

File name을 splash라 하고

오른쪽 하단에 OK를 눌러준다.

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
  >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/jj_splash"

        />
    

</LinearLayout>

 

splash.xml 파일 안에 위에처럼 코드를 작성해 준다.

 

여기서 android:src = "@drawable/jj_splash"란

drawable 폴더 안에 있는 jj_splash란 이미지를 사용하겠다~란 뜻이다.

 

 

Manifest 설정

 

 

 

이제 마지막이다.

맨 처음에 splash(jj 이미지 있는) 화면이 뜨고

그 다음 MainActivity(hello world 있는)로 전환되도록 하는 작업을 해줘야 한다.

 

이 작업을 하지 않으면 splash 화면이 맨 처음 뜨고

그 다음 MainActivity 화면이 뜨지 않는다.

MainActivity 화면만 뜰 것이다.

 

일단 작업을 위해 AndroidManifest.xml 파일로 들어와 준다.

 

 

 

위의 화면처럼 

android:name=".SplashActivity" 아래에

android:exported="true"라고 작성해준다.

이 exported가 true라는 것은 SplashActivity가 맨 처음에

실행할 수도 있어!라고 알려주는 것이다. false라고 하면

SplashActivity는 맨 처음 실행할 수 없어!라고 지정해주는 거다.

 

 

이렇게 해준 뒤 실행을 하면 성공적으로 

화면 전환이 가능한 걸 확인할 수 있다.

 

반응형