프로그래밍/Android

안드로이드 아름다운 인트로 화면 만들기

Lou Park 2016. 8. 17. 12:40

안드로이드 앱 시작시 로고가 잠깐 떴다 사라지는 화면을 본 적 있을 것이다.

인트로 화면에서는 최근 안드로이드 M에서 등장한 퍼미션을 받을 수도 있을 것이고, 로딩바도 구현할 수 있을 것이다.

오늘은 그 인트로 화면을 구현해보도록 하겠다.

먼저, 해당 layout을 준비한다. 그냥 linearLayout에 이미지 하나 올린 거라도 괜찮다.

그 화면을 activity_intro.xml 라고 가정하자.


다음은 IntroActivity.java 를 생성한다.

IntroActivity.java

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

/**
* Created by gold24park on 2016. 8. 17..
*/
public class IntroActivity extends Activity {
private Handler handler;

Runnable runnable = new Runnable() {
@Override
public void run() {
Intent intent = new Intent(IntroActivity.this, MainActivity.class);
startActivity(intent);
finish();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_intro);
init();

handler.postDelayed(runnable, 1000);
}

public void init() {
handler = new Handler();
}

@Override
public void onBackPressed(){
super.onBackPressed();
handler.removeCallbacks(runnable);
}
}

handle.postDelayer(runnable, 시간)은 1000이 1초다.

즉 1초뒤에 화면이 넘어간다는 말이다.


그리고 만든 IntroActivity가 제일 처음 열려지기 위해서

AndroidManifest.xml

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

<uses-permission android:name="..."/>

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

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

</application>

</manifest>

IntroActivity안에 intent-filter를 넣어준다.

그러면 완성!