Splash Theme 정리

ether·2022년 4월 8일
0

android

목록 보기
6/8

스플래시(Splash) 화면?

애플리케이션의 본격적인 화면이 나오기 전에 잠시 표시되는 화면

왜 theme?

  • 처음 application을 실행하면 첫 Activity의 onCreate가 실행되기전데 setTheme가 먼저 실행됩니다. setTheme은 activity에 테마가 지정되어 있으면 테마를 표시하는 메서드입니다.
  • 그래서 테마를 설정해주면 onCreate가 실행되기 전에 설정한 화면이 보이게 됩니다.

사용 방법

  1. Splash 화면으로 사용될 xml 을 만든다.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/white"/>
    <item>
        <bitmap android:src="@drawable/ic_flo_logo" android:gravity="center"/>
    </item>

</layer-list>
  1. themes.xml 에서 스타일을 설정한다.
  2. mainActivity의 기본 theme을 바꾼다.
<activity
            android:name=".MainActivity"
            android:exported="true"
            android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
  1. mainActivity.kt에서 화면 로딩 후 theme를 다시 바꾸게 한다.
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setTheme(R.style.Theme_FLO)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
}
profile
Backend Developer

0개의 댓글