어플리케이션 실행 시 가장 먼저 나타나는 화면을 뜻한다.
실행 후 2초간 나타나는 Splash 화면을 설정해 보자.
<activity
android:name=".Splash"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
app 모듈의 AndroidManifest.xml을 수정하여 실행 시 MainActivity를 로드하는 대신 Splash 액티비티를 로드하도록 설정한다.
class Splash : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.splash_screen)
loadSplash()
}
private fun loadSplash(){
Handler().postDelayed({
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
finish()
}, 2000)
}
}
Splash는 가장 먼저 실행되어야 하는 Activity이므로 onCreate를 바로 호출한다.
setContentView로 Splash 화면의 레이아웃을 설정하고, loadSplash로 딜레이 후 화면 전환을 진행한다. 딜레이 후 intent로 가져온 MainActivity로 넘기도록 핸들러를 사용해 준다.
초기에 한 번만 사용하는 Activity이기 때문에 finish()로 Destroy하도록 한다.
handler use warning ignore을 위해서는 @Suppress("DEPRECATION") 어노테이션을 상단에 추가한다.
Android Studio Chipmunk | 2021.2.1 Patch 2