앱을 처음 켜면 잠시동안 하얗게 나오는 순간이 있다. 혹시라도 폰에 부하가 걸려서 조금이라도 버벅이면 하얀 화면이 꽤나 오랫동안 노출되기도 한다. 그러다가 스플래시는 보이지도 않고 화면이 바로 넘어갈 때도 가끔 있다.
대부분 SplashActivity의 onCreate()안에 setContentView(R.layout.activity_splash)를 넣을 경우 이런 현상이 발생하게 되는데, AndroidManifest에 style을 적용하면 이 같은 현상을 방지할 수 있다.
res/drawable/splash.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/colorPrimary"/>
<item>
<bitmap
android:gravity="center"
android:src="@drawable/ic_launcher"/>
</item>
</layer-list>
styles.xml
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash</item>
</style>
AndroidManifest.xml
<activity android:name=".ui.splash.SplashActivity"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
'프로그래밍 > android' 카테고리의 다른 글
[android] android 10에서 외부 폴더 접근하기 #requestLegacyExternalStorage (0) | 2021.01.29 |
---|---|
[android] Android 11, targetSdkVersion 30 전화번호 읽기 권한 READ_PHONE_STATE, READ_PHONE_NUMBERS (0) | 2021.01.27 |
[kotlin] 안드로이드 권한처리 onRequestPermissionsResult (한번에 여러개 요청, 다시묻지않기 체크) (0) | 2021.01.14 |
[kotlin] for문 다양한 사용법 (0) | 2021.01.12 |
[kotlin] 커스텀 리스너(Custom Listener)를 람다(Lamda) 형식으로 사용하기 (0) | 2021.01.08 |