상세 컨텐츠

본문 제목

안드로이드 스튜디오 Splash screen 만들기

실습/안드로이드 스튜디오

by 뽀사장 2024. 5. 29. 19:55

본문

728x90
반응형

안드로이드 스튜디오로 스플래시 스크린 만들기를 찾아보면 엑티비티를 만들어서 화면을 일정시간 띄웠다가 없어지도록 구현해놓은 것들이 많이 있다

이 방법은 정보전달이나 특별한 목적이 있지 않는 한 메인엑티비티 실행을 늦출 뿐 메인엑티비티가 실행될 때 까지 띄우려는 나의 의도에는 적합하지 않았다

 

여기까지 알게되는 과정이 혼란스러웠지만 방법을 알고나니 생각보다 간단하다는 생각이 들었다

아래 공식문서를 참고해서 코드를 작성했다

 

https://developer.android.com/develop/ui/views/launch/splash-screen/migrate?hl=ko

 

스플래시 화면 구현을 Android 12 이상으로 이전  |  Views  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 스플래시 화면 구현을 Android 12 이상으로 이전 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 11

developer.android.com

 

 

공식문서를보면 SplashScreen API를 쓰면 된다고 나와있다

 

 

SplashScreen API를 사용하기 위해서 build.gradle(Module:app)파일에 라이브러리를 추가한다

// 스플래시 API호출
    implementation("androidx.core:core-splashscreen:1.0.0")

 

그 다음 themes.xml에서 SplashScreen 테마를 만들어 준다

<!-- SAVVY_Android.Splas는 테마 이름이라서 변경가능.-->
<style name="Theme.SAVVY_Android.Splash" parent="Theme.SplashScreen">
    <!-- Splash Screen 의 Background 색상.-->
    <item name="windowSplashScreenBackground">@color/white</item>
    <!-- Splash Screen 에서 사용 될 아이콘. 설정 하지 않으면 앱 아이콘 사용. -->
    <item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
    <!-- Splash Screen 이 끝난 후 보일 화면의 테마-->
    <item name="postSplashScreenTheme">@style/Base.Theme.NiceGetup</item>
    </style>

 

 

이후 manifest에 테마를 적용해준다

 

마지막으로 앱의 모든 activity의 onCreate안에 splash screen관리함수를 적용해주어야 한다

 

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // splash screen 설정, 관리 API함수
        installSplashScreen()

        binding = ActivityMainBinding.inflate(layoutInflater)

        enableEdgeToEdge()

 

 

 

안드로이드 공식문서를 참고하는게 가장 확실하고 좋은 방법이지만 공식문서가 익숙하지 않은 어려움이 많았다

공식문서와 좀 더 친해질 필요성이 있다

728x90
반응형

관련글 더보기