본문 바로가기
Android

[Android] 안드로이드 Splash Activity (어플 설명 액티비티, 어플 대표 화면) 만들기

by 유혁. 2017. 7. 13.

 

카카오톡 실행시켜보면

처음에 카카오톡 이미지가 나오고 1초뒤에 카톡이 실행됩니다.

 

어플리케이션의 대표 레이아웃을 넣어 어플리케이션의 이미지를 담당하는 액티비티입니다.

 

 

만드는 방법은 간단합니다.

 

프로젝트 생성에 Default MainActivity.class 를 Splash로 변경합니다.

 

 

다음 설정은 기호에 맞게 설정하시면됩니다.

 

 

 

이 화면에서 Activity name 을 Splash라 하겠습니다.

 

 

 

 

 

프로젝트가 생성되자마자 기본으로 생성된 패키지 내에 MainPage 클래스를 생성합니다.

 

 

 

Splash 레이아웃도 하나 만들어줘야겠죠?

만들어줍니다.

 

 

 

Splash로 사용할 대표 이미지를 넣어줍니다.

 

자 이제 준비가 끝났습니다.

 

코드를 작성해볼까요?

 

 

 

Splash.class

 


import android.app.Activity;
import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.WindowManager;

public class Splash extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_splash);

Handler hd = new Handler();
hd.postDelayed(new splashhandler(), 3000); // 1초 후에 hd handler 실행 3000ms = 3초

}

private class splashhandler implements Runnable{
public void run(){
startActivity(new Intent(getApplication(), MainPage.class)); //로딩이 끝난 후, ChoiceFunction 이동
Splash.this.finish(); // 로딩페이지 Activity stack에서 제거
}
}

@Override
public void onBackPressed() {
//초반 플래시 화면에서 넘어갈때 뒤로가기 버튼 못누르게 함
}

}

 

 

MainPage.class

import android.app.Activity;
import android.os.Bundle;

/**
* Created by YooJongHyeok on 2017-07-13.
*/

public class MainPage extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

 

activity_splash.xml

 

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

</LinearLayout>

 

 

activity_main.xml

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

<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="메인 페이지입니다." />

</LinearLayout>

 

 

 

중요한것! 액티비티를 주가하면

매니페스트에 정의 해주어야합니다.

 

 

manifests.xml

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

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".Splash"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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

<activity android:name=".MainPage"/> <!--이부분 추가-->

</application>
</manifest>

어플리케이션 실행해볼까요?

 

 

 

 

쨘~ 수고하셨습니다.