설명
스플래시 스크린이란?
카카오톡, 틱톡, 유튜브 등 어플리케이션을 실행했을 때 잠깐 뜨는 로고 사진, 애니메이션 등 표시되도록 하는 것입니다.
다른 어플리케이션 화면을 가져오는 것이 저작권이 생각되어 볼품 없지만 간단하게 그림판으로 만든 화면입니다.
예를 들어 아래 화면에서 몇 초 뒤에 다음 홈 화면으로 넘어가는 상황에서 아래 화면이 나오고 있는 화면을 스플래시 스크린으로 볼 수 있습니다.
최근 만들어지는 어플리케이션, 모바일 게임 등 스플래시 스크린을 사용하는만큼 안드로이드 스튜디오에서 Handler()를 사용하여 구현하는 방법을 알아보도록 하겠습니다.
사용법
Splash Layout
LinearLayout을 사용하여 간단하게 Layout화면을 조성하였습니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash_img"
tools:context=".splash.SplashActivity">
</LinearLayout>
스플래시 화면은 제가 간단하게 제작하는 은행 어플리케이션에서 사용한 로고입니다.
(@drawable/splash_img)
SplashActivity
Handler()와 Intent를 사용하여 SplashLayout 화면이 나온 뒤 3초 후에 LoginActivity화면으로 넘어가게 하였습니다.
class SplashActivity : AppCompatActivity() {
companion object{
private const val splash_Time_OUT : Long = 3000 //시간 3초 설정
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.splash_page)
Handler().postDelayed({ //Handler 수행
val intent = Intent(this, LoginActivity::class.java)
startActivity(intent)
finish()
}, splash_Time_OUT)
}
}
Anko 라이브러리 사용시
Anko 라이브러리를 사용하여 Intent 코드를 간략화할 수 있습니다.
Anko 의존성을 먼저 추가한 뒤
android{
...
}
dependencies {
...
//----Anko Commons 의존성 추가--------
//anko_version = "0.10.2"
compile "org.jetbrains.anko:anko-commons:$anko_version"
}
SplashActivity
Handler()와 Anko에 startActivity을 사용하여 두 줄로 작성된 코드를 한 줄로 표현할 수 있습니다.
class SplashActivity : AppCompatActivity() {
companion object{
private const val splash_Time_OUT : Long = 3000 //시간 3초 설정
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.splash_page)
Handler().postDelayed({ //Handler 수행
startActivity<LoginActivity>() //Anko 이용한 intent 실행
finish() //현 페이지 종료
}, splash_Time_OUT)
}
}
여기서는 2줄 코드를 하나로 줄였지만 안드로이드 프로그래밍에 Intent를 많이 사용하여 Anko를 사용하여 코드를 줄여가는 것을 추천드립니다.
Anko는 Toast, Intent 등 여러가지 코드를 간단하게 작성할 수 있습니다.
'Android Studio' 카테고리의 다른 글
[Android, Kotlin] 안드로이드 어플 출시까지 한 걸음 부터(2-1), 어플리케이션 UI 만들기(Splash, Main) (0) | 2022.08.18 |
---|---|
[Android, Kotlin] 안드로이드 어플 출시까지 한 걸음 부터(1), 프로토타입 (0) | 2022.08.11 |
[Android, Kotlin] 안드로이드 어플 출시까지 한 걸음 부터(0), 프롤로그 (0) | 2022.08.06 |
[Android]Anko Library Build 실패 경험 및 해결 방법 (0) | 2022.08.03 |
[Kotlin] 안드로이드 ViewModel + EditText.InputType 설정 (0) | 2022.05.20 |
댓글