티스토리 뷰
앱을 실행하자마자 아래와 같은 이미지를 띄우고 대략 2~3초 뒤에 메인 화면으로 넘어가는 동작을 구현해 보겠습니다.
우선 가장 무난한 페이스북 인트로 화면을 예제로 잡아보겠습니다.
우선 아래와 같이 인트로로 사용할 이미지를 준비합니다.
저는 가장 무난한 페이스북 이미지에 나인패치를 입혀서 적용했습니다. 화면을 다 덮는 이미지를 사용해도 되지만 intro 화면에 사용될 Drawable 을 정의한 xml 파일을 사용하는 것이 좋습니다.
우선 values 폴더의 style.xml 파일에 다음과 같은 테마를 하나 추가시켜줍니다.
액션바와 타이틀을 제거하고 인트로에 사용될 배경 이미지를 출력하는 테마입니다.
<style name="IntroTheme" parent="android:Theme.Light.NoTitleBar"> <item name="android:windowBackground">@drawable/intro</item> <item name="android:windowActionBar">false</item> <item name="android:windowNoTitle">true</item> </style>
그리고 AndroidManifest.xml 에서 Intro 를 보여줄 Activity 에 해당하는 엘리먼트에 다음과 같은 속성을 추가시켜서 인트로 테마를 지정합니다.
android:theme="@style/IntroTheme"
마지막으로 인트로 화면을 보여줄 해당 Activity 에 인트로 화면을 표시하기 위하여 코드를 다음과 같이 작성합니다.
아래 코드는 액티비티 하나로 인트로와 컨텐츠를 모두 보여주는 예 입니다.
Preview:
public class MainActivity extends Activity { @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); boolean isRunIntro = getIntent().getBooleanExtra("intro", true); if(isRunIntro) { beforeIntro(); } else { afterIntro(savedInstanceState); } } // 인트로 화면 private void beforeIntro() { // 약 2초간 인트로 화면을 출력. getWindow().getDecorView().postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(MainActivity.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("intro", false); startActivity(intent); // 액티비티 이동시 페이드인/아웃 효과를 보여준다. 즉, 인트로 // 화면에 부드럽게 사라진다. overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); } }, 2000); } // 인트로 화면 이후. private void afterIntro(Bundle savedInstanceState) { // 기본 테마를 지정한다. setTheme(R.style.AppBaseTheme); setContentView(R.layout.activity_main); } }
실행 결과
'개발 관련 > Android ' 카테고리의 다른 글
[Tip] 항상 아래로 스크롤되는 TextView (1) | 2014.06.30 |
---|---|
[Tip] 액션바 오버플로우 메뉴 버튼이 보이지 않고, 하드웨어 메뉴 버튼을 눌렀을 때 메뉴가 아래 위치에 출력되는 것을 해결. (1) | 2014.06.22 |
AcitonBar 의 View 가져오기. (0) | 2014.05.15 |
Android 의 Activity 시작 관련 Intent 플래그값에 대하여 1. (3) | 2013.12.23 |
[Tip] 구글 플레이 API 사용시 com.google.android.gms 액티비티를 찾을 수 없다는 에러가 나올때. - 수정 (0) | 2013.11.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발
- 칩두이노
- HC-06
- activity
- 블루투스
- Cheapduino
- Iot
- ATtiny85
- arduino
- 이더넷
- NeoPixel
- Java
- 가습기
- 알리익스프레스
- 병렬 프로그래밍
- noidemcu
- ndk
- Android
- oled
- ENC28J60
- 부트로더
- 안드로이드
- 침블락
- bluetooth
- 아두이노
- 스마트 무드등
- WS2812B
- ESP8266
- 안드로이드 개발
- json
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함