ภารกิจเก่าและคุณอาจคิดออกแล้ว แต่สำหรับการอ้างอิงในอนาคต:
นี่คือสิ่งที่คุณใช้ในการตั้งค่าภาพเคลื่อนไหวที่กำหนดเองเมื่อคุณแทนที่ส่วนด้วยรหัส:
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
ft.replace(R.id.fragment_container, newFragment, "fragment");
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>
โปรดทราบว่านี่เป็นภาพเคลื่อนไหวหากคุณใช้ไลบรารีความเข้ากันได้ แต่ถ้าคุณใช้และ SDK พร้อมการสนับสนุนดั้งเดิมสำหรับ FragmentManager ภาพเคลื่อนไหวของคุณจะมีลักษณะดังนี้:
<?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 ใหม่และใช้เฉพาะเฟรมเวิร์กภาพเคลื่อนไหวเก่าแทน