보통 애플리케이션 실행 시, 바로 메인화면으로 한방에 넘어가는 것보다 보통 2~3초의 짧은 시간동안 애플리케이션 소개화면이 잠깐 지나치는 것을 많이 경험하셨을 것입니다.

앱의 완성도를 조금 더 높여주도록 Splash창을 구성해보도록 하겠습니다.


////////////////////////////////////////////////////////////////////////////////////////////

[MainActivity.java]

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);


startActivity(new Intent(this, SplashActivity.class));

//Intent창을 새로 만들어서 먼저 SplashActivity를 시작하도록 합니다.

}

}

////////////////////////////////////////////////////////////////////////////////////////////

이제, 위에서 MainActivity가 실행되면, SplashActivity를 시작할테니, SplashActivity를 만들어주어야 겠죠.


[SplashActivity.java]

import android.app.Activity;

import android.os.Bundle;

import android.os.Handler;


public class SplashActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_splash);        

//activity_splash 레이아웃을 구성함으로써 어떤 화면을 보여줄 지, 직접 사용자가 해당 레이아웃에서 구현해주면 됩니다.


Handler hd = new Handler();

hd.postDelayed(new Runnable() {

public void run() {

finish();            //2초동안 보여준 후, SplashActivity를 종료한 후 MainActivity로 돌아갑니다.

}

}, 2000);                //2000millis. 즉 2초동안 해당 화면을 보여준 후, finish() 됩니다.

}

}

////////////////////////////////////////////////////////////////////////////////////////////

//layout에 activity_splash.xml을 만들어주어 사용자에게 보여 줄 SplashView를 구성해주면 됩니다.

/* 일단, 간단한 확인만을 위하여 TextView를 추가하여 text로 Splash창이라는 것을 확인하도록 합니다.

나중에, 예쁘게 꾸미기 위하여 ImageView나 다른 것들을 추가하여 실질적으로 꾸며주시면 됩니다. */


[activity_splash.xml]

<TextView

android:layout_width="match_parent"

android:layout_height="match_parent"

android:textSize="30dp"

android:text="Splash 창 입니다!" />



[AndroidManifest.xml]

<application
android:allowBackup="true"
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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

<activity android:name=".SplashActivity" />

위와 같이 아마 보여질 것입니다. (android:icon="@mipmap/logo" 부분은 제가 임의로 아이콘을 만들어 준 부분이므로 신경쓰시지 않으셔도 됩니다. 위 부분은 애플리케이션을 실행 시, MainActivity로 시작하겠다는 뜻입니다.)


보시는 것과 같이 <activity android:name=".SplashActivity" /> 를 한 줄 추가해주면 됩니다.


WRITTEN BY
SiriusJ

,