windowSplashScreenAnimationDuration
속성은 splash 화면이 표시될 시간을 지정하는 속성인데 최대 1,000ms라고 합니다. 당연히 갤럭시 기기보다 성능이 안 좋은 예뮬레이터에서는 리소스 로딩이 길어서 예뮬레이터에서 계속 개발하던 저는 이 부분을 미처 생각하지 못했던 거일 수도 있는 거 같습니다.스플래시 화면을 화면에 더 오래 표시
하기 부분이 있어서 그 코드를 가져와 사용해봤지만 splash 화면이 종료가 안 되네요..알파 버전은 사용자들이 다운 설치가 안된다고 하네요..
// splashscreen
implementation("androidx.core:core-splashscreen:1.0.1")
class MainActivityViewModel : ViewModel() {
// 스플래시 테마 상태 플로우
private val _postSplashTheme = MutableStateFlow(true)
val postSplashTheme = _postSplashTheme.asStateFlow()
init {
// 스플래시 화면 표시 후 2초 후에 테마를 변경하는 작업 시작
viewModelScope.launch {
delay(2000)
_postSplashTheme.value = false // 스플래시 테마를 비활성화로 변경
}
}
}
val splashScreen = installSplashScreen()
setContentView(R.layout.activity_main)
mainViewModel= ViewModelProvider(this)[MainActivityViewModel::class.java]
mainViewModel= ViewModelProvider(this)[MainActivityViewModel::class.java]
splashScreen.setKeepOnScreenCondition {
mainViewModel.postSplashTheme.value
}
https://developer.android.com/develop/ui/views/launch/splash-screen/migrate
https://developer.android.com/about/versions/12/features/splash-screen?hl=ko
https://patrick-dev.tistory.com/36
https://skyksit.tistory.com/entry/change-splash-api-for-android-12