카카오톡 실행시켜보면
처음에 카카오톡 이미지가 나오고 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>
어플리케이션 실행해볼까요?
쨘~ 수고하셨습니다.
'Android' 카테고리의 다른 글
[Android] 안드로이드 내 휴대폰(디바이스) 번호 가져오기 (5) | 2017.07.18 |
---|---|
[Android] 안드로이드 Activity 뒤로가기 (MainBackPressCloseHandler) 딜레이 주기 (2) | 2017.07.14 |
[Android] 안드로이드 <-> Servlet <-> Mysql 연동 (3) - Android, Servlet 연동 (16) | 2017.07.13 |
[Android] ImageView 숨기기(안보이게) 기능 (0) | 2017.07.10 |
[Android] 안드로이드 <-> Servlet <-> Mysql 연동 (2) - Spring 웹서버 mysql 연동 (6) | 2017.06.30 |