티스토리 뷰

대부분의 앱은 처음 시작할 때 인트로 화면을 제공한다. 

아이폰에서는 기본 이미지(Default.png)를 추가하거나 설정해 주고, 

앱 론칭이 끝났을 때 실행되는 함수에서 일정시간만을 주는 다음 한줄 코드로 인트로 화면이 해결된다. 

[NSThread sleepForTimeInterval:3];


하지만, 안드로이드에서는 인트로를 위한 별도의 기능을 제공해 주지 않는다. 

그렇다고 인트로 화면을 전혀 제공해 줄 수 없는 것은 아니다. 


인트로를 위한 액티비티를 하나 만들고, 앱이 실행될 때 해당 액티비티가 먼저 뜨도록 구성하면 된다. 

그리고 일정 시간이 지나면 실제 처음 나오는 액티비티가 실행되도록 하면 된다. 


AndroidManifest.xml 파일 설정 

먼저 처음 실행하는 액티비티가 인트로 화면이 되도록 AndroidManifest.xml 파일을 수정한다. 


보통 카테고리(category) 태그에 런처로 설정되어 있는 액티비티가 메인 액티비티(MainActivity)로 되어 있을 것이다. 

13번째 줄을 보면, 이 부분을 새롭게 만들 인트로화면(IntroActivity)로 변경한 것이다. 

그리고 메인 액티비티는 21~23번째 줄에 별도로 지정했다. 


인트로 액티비티의 화면 구성 

이제 인트로 액티비티의 화면을 위한 XML 파일을 살펴보자. 


리니어 레이아웃으로 구성하였고, 5번째 줄을 보면 배경으로 사용할 이미지를 지정했다. 

이 이미지가 바로 인트로 화면이라고 보면 된다. 


인트로 이미지의 크기는 안드로이드 화면 크기에 맞춰서 올려줘야 한다. 

보통 밀도단위에 따라 저밀도(ldpi), 중밀도(mdpi), 고밀도(hdpi), 초고밀도(xhdpi), 초초고밀도(xxhdpi)로 나누는데 각각에 적절한 전체화면 해상도는 다음과 같다. 

  • LDPI: Portrait: 200x320px. Landscape: 320x200px.
  • MDPI: Portrait: 320x480px. Landscape: 480x320px.
  • HDPI: Portrait: 480x800px. Landscape: 800x480px.
  • XHDPI: Portrait: 720px1280px. Landscape: 1280x720px.
  • XXHDPI: Portrait: 960px1600px. Landscape: 1600x960px.
  • XXXHDPI: Portrait: 1280px1920px. Landscape: 1920x1280px.



인트로 액티비티 소스 구성

인트로 액티비티에서 수행해야 할 것은 전체 화면으로 띄우고, 일정 시간이 지나면 메인 액티비티를 실행하고 인트로는 중지하면 된다. 

이런 과정은 액티비티가 생성되는 함수에서 처리하면 된다. 


7~8번째 줄은 해당 앱에서 사용하는 액션바를 감춘 것이고, 

12~20번째 줄이 postDelayed 핸들러를 활용해서 2초 후, 메인 액티비티를 실행한 것이다. 

마지막으로 뒤로가기 버튼으로 인트로에 다시 들어오지 못하도록 finish()로 현재 액티비티를 완전히 종료했다. 



댓글
댓글쓰기 폼