안드로이드 Splash Activity 내용 정리

Splash_Activity
Android Logo

안드로이드 Splash Activity 내용 정리 포스트입니다.
아이폰을 써본적이 없어 IOS는 이야기에서 배제하고 이야기를 하자면, 요새 대부분의 앱은 로딩을 위함이 아니라도 로고 화면이 잠시 스쳐지나가게 구현하고 있습니다.

Splash_Activity

위에 안드로이드 에뮬레이터(Android Emulator)로 간단하게 캡쳐해본 Splash Activity 부분입니다.
앱을 실행하게 되면 저의 ThinkGround Logo가 잠시 보이고 다른 액티비티(Activity)로 넘어가는 것을 볼 수 있습니다.
화면이 뜨고 전환되는 부분에 따로 효과를 준 것이 없어 밋밋해 보일 수 있지만, 나름 깔끔한 처리를 할 수 있는 방법입니다.

관련 코드 공유

Splash Activity와 관련된 부분에 대해 GitHub에 코드 공유를 해두었습니다.
다른 사이트에 들어가는게 귀찮으실 수 있으니 여기에도 같이 공유를 하겠습니다^^

https://gist.github.com/Flature/dfcd7325331b722fc1b59563c1104704

위 코드는 SplashActivity.kt 부분입니다.
위 코드는 코틀린으로 작성되었습니다.
안드로이드 코드를 작성하는데 자바가 익숙하신 분은 이참에 Kotlin에 대해 간단하게 알아가시는 것도 좋을 것 같습니다.
어차피 공식 언어로 Kotlin을 사용하겠다고 발표를 했으니까요;;
저도 공부하면서 하는데 죽겠습니다 ㅠ
Kotlin 관련 코드는 이 카테고리를 참고하시면 되겠습니다.

매우 간단하게 코딩이 되어 있습니다.
간단하게 설명드리자면 액티비티가 뜨면서 ‘onCreate’ 메소드가 실행되는데, 그러면서 바로 넘어가고자 하는 액티비티의 intent 인스턴스를 생성해서 넘겨버리는 구조입니다.
좀 더 시간을 끌거나 로딩해서 넘겨줘야하는 부분이 필요하다면, 11번 line에 있는 ‘startActivity()’ 부분이 시작되기 전 부분에 구현하시면 됩니다.

https://gist.github.com/Flature/650e4cc047e35b5fc40143af05c6c022

위 코드는 splash_background.xml 이라는 drawable 폴더 내의 파일입니다.
Splash Activity를 구현하는데 있어서 별도의 레이아웃은 필요하지 않습니다.
배경색을 설정하고, 가운데에 띄우고자 하는 이미지 파일을 설정해주는 파일이 있으면 됩니다.

https://gist.github.com/Flature/f4ae06b6c87c48446bb0d9c90f8ba0c9

그리고 위와 같이 styles.xml 파일에서 위에서 설정한 파일을 style에 추가해줍니다.
보통 이런 구현을 할 때는 Appbar가 없기 때문에 없애는 Theme을 적용해줍니다.

https://gist.github.com/Flature/67beac0047d15f348dc095a105726029

AndroidManifest.xml 파일입니다.
여기서 구현한 activity파일을 정의해주고, 거기에 style을 적용해줘야 합니다.
가장 중요한 것은, 보통 이런 구현은 앱을 실행시키는 맨 처음에 구현을 해주는데요.
그렇기 때문에

<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>

위 두 개가 MainActivity가 아닌 새로 구성한 액티비티에 배치가 되어야 합니다.

지금까지 안드로이드 Splash Activity 내용 정리 포스트였습니다.
안드로이드 관련 포스트를 더 보고 싶으시다면 여기를 눌러주세요.

Leave a Reply