IT BLOG

애니메이션을 사용하여 Activity 전환하기

애니메이션 Activity transition을 할 때 기억해야 할 3가지

시작하기 전에 용어 정리를 하면 scene 이라는 게있다. scene은 이 전환 애니메이션을 하는 하나의 장면을 의미한다.

1. enter

enter는 뷰가 어떻게 이 scene 에 들어갈것인가 정하는 것이다.

2. exit

exit는 마찬가지로 뷰가 어떻게 scene을 나갈 것인가 정하는 것이다.

3. shared elements

shared elements는 전환을 하는 두 Activity 사이에 공유하는 elements를 정하는 것이다.

안드로이드에서 지원하는 전환 애니메이션

explode

뷰가 scene의 중심부에서 안이나 밖으로 이동하는 것

slide

뷰가 scene의 가장자리 중 하나에서 안이나 밖으로 이동하는 것

fade

불투명도를 변경해서 scene을 추가하거나 제거하는 것


기본 애니메이션 전환

1. 버전 체크

// Check if we're running on Android 5.0 or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    // Apply activity transition
} else {
    // Swap without transition
}

일단 이 기능은 안드로이드 5 (API 21) 이상에서만 사용 가능하다. 구현 전에 버전 체크를 해준다.

2. 테마 변경

<style name="BaseAppTheme" parent="android:Theme.Material">
  <!-- enable window content transitions -->
  <item name="android:windowActivityTransitions">true</item>
</style>

사용하는 테마에 android:windowActivityTransitions을 true로 해준다.

3. 구현

일단 기본 Activity 전환 기능을 구현한다.

startActivity(intent,
              ActivityOptions.makeSceneTransitionAnimation(this).toBundle())

공식 문서에 쓰여져 있는 코드이다. intent 만들어주고 startActivity 해준다.

보면 두번째 파라미터에 번들이 들어가있다.

공식 문서 참고하면 된다.

여기까지가 기본 애니메이션 전환이다. 여기까지 구현을 해보면 전환이 기존과 달라진 것을 볼 수 있다.

이제 여기서부터 심화


게시됨

카테고리

작성자

태그: