728x90
반응형
231003 ver
스플래쉬 화면을 구성할 때 종래 자주쓰는 방법은
1. 특정 xml layout을 꾸미기
2. 특정 theme 꾸미기
둘 중 하나로 꾸민 다음 Handler를 이용하여 delay를 주는것이다.
그러나 올 초부터 상기 2개 말고 installSplashScreen로 스플래쉬화면 객체를 반환하여 이용하는 방법을 추천하고있다.
https://developer.android.com/guide/topics/ui/splash-screen/migrate?hl=ko
기존 스플래시 화면 구현을 Android 12 이상으로 이전 | Android 개발자 | Android Developers
기존 스플래시 화면 구현을 Android 12 이상으로 이전 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이전에 Android 11 이하에서 맞춤 스플래시 화면을 구현한
developer.android.com
1. 의존성 추가 kotlin script
dependencies {
implementation ("androidx.core:core-splashscreen:1.0.0-alpha01")
}
2. 테마 만들기
<style name="Theme.App.Starting" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@color/black</item>
//스플래쉬의 바탕화면을 말한다.
<item name="windowSplashScreenAnimatedIcon">@mipmap/logo</item>
//스플래쉬에 들어갈 아이콘을 지정한다. mipmap으로 해야 깨지지 않는다.
<item name="windowSplashScreenAnimationDuration">1000</item>
//duration을 지정한다. 나는 1초
<item name="postSplashScreenTheme">@style/Theme.Material3.DayNight.NoActionBar</item>
//스플래쉬의 테마를 지정한다. 나는 노액션바
</style>
mipmap은 알아서 만들기
3. 매니페스트에 스플래쉬화면에 테마 지정하기
android:theme="@style/Theme.App.Starting"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true"
android:theme="@style/Theme.App.Starting">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
4. MainActivity에서 스플래쉬 화면 객체에게 일시키기!
class MainActivity : AppCompatActivity() {
private val splashScreen : SplashScreen by lazy { installSplashScreen() } //Splash API
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
splashScreen //스플래쉬를 킨 다음 MainActivity의 root를 그린다.
setContentView(binding.root)
}//onCreate method
728x90
반응형
'Android Kotlin' 카테고리의 다른 글
Android Kotlin SurfaceView (0) | 2024.05.19 |
---|---|
Android Studio Kotlin abstract class로 BaseActivity를 사용하는 이유는? (0) | 2024.02.12 |
android studio MotionScene Syntax error : Empty Scene (0) | 2023.09.24 |
Android Studio(Kotlin) Room (0) | 2023.09.04 |
Android Studio(Kotlin) Compose - android compose No virtual method Int$class-MainActivity()I in class L (0) | 2023.08.25 |