안드로이드 앱 시작시 로고가 잠깐 떴다 사라지는 화면을 본 적 있을 것이다.
인트로 화면에서는 최근 안드로이드 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를 넣어준다.
그러면 완성!
'프로그래밍 > Android' 카테고리의 다른 글
안드로이드 apk 용량 줄이는 효과적인 방법 (0) | 2017.01.06 |
---|---|
안드로이드 아름다운 카드뷰(Card View) 리스트 만들기 - (4) (1) | 2016.12.13 |
안드로이드 앱 성능을 최적화 하는 방법 - (1) Render (0) | 2016.08.04 |
안드로이드 Fragment에 정보 전달하기 (1) | 2016.07.28 |
안드로이드 PHP GET 방식 통신에서 한글 깨짐(?) 해결 (0) | 2016.07.08 |