[Kotlin] Splash

·2022년 10월 17일

🌊 Splash

어플리케이션 실행 시 가장 먼저 나타나는 화면을 뜻한다.
실행 후 2초간 나타나는 Splash 화면을 설정해 보자.

  • AndroidManifest.xml
<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 액티비티를 로드하도록 설정한다.

 

  • Splash.kt
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

0개의 댓글