경험의 기록

overridePendingTransition 를 활용하면

위처럼 액티비티 시작, 종료 시에 애니메이션을 추가할 수 있다.

 

overridePendingTransition(나타나는 화면에 적용할 애니메이션, 기존 화면에 적용할 애니메이션)

의 형태로 사용한다.

 

 

위와 같이 새로운 액티비티가 띄워 질 때

onCreate에서 처음 인자로 vertical_enter, 두 번째 인자로 none을 넣어주게 되면

기존의 화면은 가만히 있고 새로운 액티비티만 밑에서 올라오는 애니메이션을 추가할 수 있다.

 

또한 반대로 액티비티가 종료될 때

반대로 처음 인자에 none, 두 번째 인자에 vertical_exit를 넣어줌으로써

기존 화면을 밑으로 내리고, 새로 보여지는 액티비티는 가만히 있는 애니메이션을 추가할 수 있다.

 

예제에서 사용된 애니메이션 코드는 다음과 같다.

vertical_enter

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="300"
        android:fromYDelta="100%"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:toYDelta="0%" />
</set>

vertical_exit

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="300"
        android:fromYDelta="0%"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:toYDelta="100%" />
</set>

none

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="300"
        android:fromXDelta="0%"
        android:fromYDelta="0%"
        android:toXDelta="0%"
        android:toYDelta="0%" />
</set>

 

 

전체 코드

https://github.com/HanYeop/AndroidStudio-Practice2/tree/master/NavigationEx2

 

GitHub - HanYeop/AndroidStudio-Practice2: (2021.05.20~) 안드로이드 학습 내용 저장소

(2021.05.20~) 안드로이드 학습 내용 저장소. Contribute to HanYeop/AndroidStudio-Practice2 development by creating an account on GitHub.

github.com

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading