[Android] Manifest에서 한번에 모든 페이지에 화면전환 효과 적용하기

2019. 9. 27. 16:06Coding/Android Studio

728x90

특정페이지에 화면전환 효과를 적용할때는

startActivity()나 finish()등 이후에 overridePendingTransition()를 적용하지만,

모든 페이지에 동일한 효과를 주기위해서는 Manifest의 application에 있는 android:theme를 이용하면된다.

 

1. style.xml에 적용할 효과를 생성

1
2
3
4
<style name="FadeInOutAnimation">
   <item name="android:windowEnterAnimation">@android:anim/fade_in</item>
   <item name="android:windowExitAnimation">@android:anim/fade_out</item>
</style>
cs

 

2. Manifest의 application, android:theme에 적용되어있는 테마에 1에서 만든 스타일을 적용.

1
2
3
4
5
6
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowAnimationStyle">@style/FadeInOutAnimation</item>
</style>
cs

 

 

이렇게하면, FadeInOutAnimation의 효과가 프로젝트내 모든 화면전환에 적용된다.

지금 적용된 효과는 안드로이드 기본 효과인 anim/fade_in과 anim/fade_out이지만, 필요한 animation을  만들어서 적용할 수도 있다.

728x90