안드로이드 Splash Activity 내용 정리 포스트입니다.
아이폰을 써본적이 없어 IOS는 이야기에서 배제하고 이야기를 하자면, 요새 대부분의 앱은 로딩을 위함이 아니라도 로고 화면이 잠시 스쳐지나가게 구현하고 있습니다.
위에 안드로이드 에뮬레이터(Android Emulator)로 간단하게 캡쳐해본 Splash Activity 부분입니다.
앱을 실행하게 되면 저의 ThinkGround Logo가 잠시 보이고 다른 액티비티(Activity)로 넘어가는 것을 볼 수 있습니다.
화면이 뜨고 전환되는 부분에 따로 효과를 준 것이 없어 밋밋해 보일 수 있지만, 나름 깔끔한 처리를 할 수 있는 방법입니다.
관련 코드 공유
Splash Activity와 관련된 부분에 대해 GitHub에 코드 공유를 해두었습니다.
다른 사이트에 들어가는게 귀찮으실 수 있으니 여기에도 같이 공유를 하겠습니다^^
위 코드는 SplashActivity.kt 부분입니다.
위 코드는 코틀린으로 작성되었습니다.
안드로이드 코드를 작성하는데 자바가 익숙하신 분은 이참에 Kotlin에 대해 간단하게 알아가시는 것도 좋을 것 같습니다.
어차피 공식 언어로 Kotlin을 사용하겠다고 발표를 했으니까요;;
저도 공부하면서 하는데 죽겠습니다 ㅠ
Kotlin 관련 코드는 이 카테고리를 참고하시면 되겠습니다.
매우 간단하게 코딩이 되어 있습니다.
간단하게 설명드리자면 액티비티가 뜨면서 ‘onCreate’ 메소드가 실행되는데, 그러면서 바로 넘어가고자 하는 액티비티의 intent 인스턴스를 생성해서 넘겨버리는 구조입니다.
좀 더 시간을 끌거나 로딩해서 넘겨줘야하는 부분이 필요하다면, 11번 line에 있는 ‘startActivity()’ 부분이 시작되기 전 부분에 구현하시면 됩니다.
위 코드는 splash_background.xml 이라는 drawable 폴더 내의 파일입니다.
Splash Activity를 구현하는데 있어서 별도의 레이아웃은 필요하지 않습니다.
배경색을 설정하고, 가운데에 띄우고자 하는 이미지 파일을 설정해주는 파일이 있으면 됩니다.
그리고 위와 같이 styles.xml 파일에서 위에서 설정한 파일을 style에 추가해줍니다.
보통 이런 구현을 할 때는 Appbar가 없기 때문에 없애는 Theme을 적용해줍니다.
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 내용 정리 포스트였습니다.
안드로이드 관련 포스트를 더 보고 싶으시다면 여기를 눌러주세요.