오래된 질문과 아마 이미 알아 냈을 것입니다.
코드를 통해 조각을 바꿀 때 사용자 지정 애니메이션을 설정하는 데 사용하는 방법은 다음과 같습니다.
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
ft.replace(R.id.fragment_container, newFragment, "fragment");
// Start the animated transition.
ft.commit();
다음은 slide_in_left 애니메이션의 예입니다.
<?xml version="1.0" encoding="utf-8"?>
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%"
android:toXDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/>
</set>
호환성 라이브러리를 사용하는 경우 이것은 애니메이션입니다. 대신 FragmentManager에 대한 기본 지원과 함께 SDK를 사용하는 경우 애니메이션은 다음과 같이 표시됩니다.
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="x"
android:valueType="floatType"
android:valueFrom="-1280"
android:valueTo="0"
android:duration="500"/>
</set>
이는 호환성 라이브러리가 새 objectAnimator 유형을 지원하지 않고 대신 이전 애니메이션 프레임 워크 만 구현하기 때문입니다.