Splash Activity 생성
splash layout 구성
SplashActivity 설정
AndroidMainfest 앱 구동시 첫 화면 설정
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SplashActivity"
android:orientation="vertical">
<ImageView
android:src="@drawable/logo"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
package com.sangmoki.bts_photo
import android.content.Intent
import android.os.Bundle
import android.os.Handler
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_splash)
Handler().postDelayed(Runnable {
// 앱의 MainActivity로 넘어가기
val i = Intent(this@SplashActivity,MainActivity::class.java)
startActivity(i)
// 현재 액티비티 닫기
finish()
}, 1000) // 3초
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Bts_photo"
tools:targetApi="31">
<activity
android:name=".SplashActivity"
android:exported="true"
android:theme="@style/Theme.Design.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
android:name=".Bts3Activity"
android:exported="false" />
<activity
android:name=".Bts2Activity"
android:exported="false" />
<activity
android:name=".Bts1Activity"
android:exported="false" />
<activity
android:name=".MainActivity" >
</activity>
</application>
</manifest>
이와 같이 구성 후 실제 구동 화면이다.
이 로고가 보이고 Hadler로 설정해놓은 1초 뒤 main 화면으로 이동한다.