스플래시 화면(Splash Activity)이란?
- 사용자가 모바일 앱을 시작할 때 표시되는 화면
- 애플리케이션이 켜지기 전 나오는 화면을 Splash screen 혹은 Launch screen이라고 부름
- 애플리케이션이 준비될 때까지 표시되는 화면으로써 앱 구동 중 나타나는 흰색 화면과 같은 화면을 대신해서 나타남
- 애플리케이션이 실행되면서 맨 처음 뜨는 로딩 화면이라고 생각하면 됨
- 사용자가 보는 첫번째 화면이므로 앱 사용을 시작하기 전 사용자에게 앱의 첫 인상을 줌
스플래시 화면 예
구현 방법
1. layout xml을 만든다.
res > layout 으로 들어가서 activity_splash.xml을 만든다.
이후 원하는 화면으로 만든다.
나는 간단하게 아이콘 이미지만 넣었다.
2. SplashActiviy를 만든다.
class SplashActivity : AppCompatActivity() {
private lateinit var binding: ActivitySplashBinding // 만든 activity_splash.xml 화면 넣기
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivitySplashBinding.inflate(layoutInflater)
setContentView(binding.root)
val handler = Handler(Looper.getMainLooper())
handler.postDelayed({ // 딜레이 후 이동하도록 함
initViews()
}, 1000) // 1초 뒤 이동
}
private fun initViews() { // MainActivity로 이동 함수
val mainIntent = Intent(this, MainActivity::class.java)
startActivity(mainIntent)
}
}
initViews라는 함수를 만들어서 1초 뒤 MainActivity로 이동하게 만들었다. 이때 나는 initViews라고 이름을 지었지만 다른 이름으로 바꿔도 된다.
만약 로그인 여부에 따라 다른 화면으로 이동하고 싶으면 initViews함수 내 조건문 등의 코드를 넣으면 된다.
걸리는 시간을 바꾸고 싶으면 1000을 다른 값으로 바꾸면 된다.
3. AndroidManifest.xml에 SplashActiviy 추가한다.
<activity
android:name=".SplashActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
android:name=""에 SplashActivity를 넣는다.
스플래시 화면은 가장 처음 실행되어야 하기 때문에
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
이 코드를 포함하고 있는 activity에 해야 한다.
'공부 > 안드로이드' 카테고리의 다른 글
[Android/Kotlin] 토큰 저장/불러오기 (SharedPreferences) (0) | 2024.07.23 |
---|---|
[Android/Kotlin] 카카오 키 숨기기 (0) | 2024.07.15 |
[Android/Kotlin] 다른 Activity 종료 (0) | 2024.02.22 |
[Android/Kotlin] 복사하기 기능 (0) | 2024.02.21 |
[Android/Kotlin] API 연결 (0) | 2024.02.21 |