Input/개발+App
[Android/Kotlin]Intro/Splash Fullscreen 구현 방식
우짜짜™
2020. 5. 17. 22:01
반응형
앱 실행시 초기 인트로(Splash) 화면 구현에 필요한 방식은 2가지
1. 소스코드 추가
2. styles.xml 테마 속성 추가
UI/UX로 볼때 styles.xml 테마 속성을 추가하는 방식을 추천
1. 소스코드 적용 방식
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_intro)
//Fullscreen 적용
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE or
View.SYSTEM_UI_FLAG_FULLSCREEN or
View.SYSTEM_UI_FLAG_LAYOUT_STABLE or
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
}
2. xml Theme 적용 방식
① res > values > styles.xml 속성추가
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<!-- Fullscreen 적용 -->
<style name="AppTheme.NoActionBar.Fullscreen">
<item name="android:windowFullscreen">true</item>
<item name="windowNoTitle">true</item>
</style>
</resources>
② AndroidManifest.xml 테마적용
<activity
android:name=".IntroActivity"
android:theme="@style/AppTheme.NoActionBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
★2초뒤 메인화면으로 넘어가는 방식 구현 예시
var handler: Handler? = null
var runnalbe: Runnable? = null
override fun onResume() {
super.onResume()
runnalbe = Runnable {
var intent = Intent(this, MainActivity::class.java)
startActivity(intent)
finish()
}
handler = Handler()
handler?.run {
postDelayed(runnalbe, 2000)
}
}
override fun onPause() {
super.onPause()
handler?.removeCallbacks(runnalbe)
}
반응형