ตั้งแต่ API 16 คุณสามารถจัดหาบันเดิลตัวเลือกกิจกรรมเมื่อเรียกใช้Context.startActivity (Intent, Bundle)หรือเมธอดที่เกี่ยวข้อง สร้างขึ้นผ่านตัวสร้างActivityOptions :
Intent myIntent = new Intent(context, MyActivity.class);
ActivityOptions options =
ActivityOptions.makeCustomAnimation(context, R.anim.fade_in, R.anim.fade_out);
context.startActivity(myIntent, options.toBundle());
อย่าลืมตรวจสอบวิธีการอื่น ๆ ของตัวสร้าง ActivityOptions และActivityOptionsCompatหากคุณใช้ไลบรารีสนับสนุน
API 5+:
สำหรับแอปที่กำหนดเป้าหมาย API ระดับ 5+ มีoverridePendingTransition
วิธีกิจกรรม ใช้รหัสทรัพยากรสองรายการสำหรับภาพเคลื่อนไหวขาเข้าและขาออก รหัสของ0
จะปิดใช้งานภาพเคลื่อนไหว โทรทันทีหลังการstartActivity
โทร
เช่น:
startActivity(new Intent(this, MyActivity.class));
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
API 3+:
คุณสามารถป้องกันไม่ให้ภาพเคลื่อนไหวเริ่มต้น (เลื่อนเข้าจากด้านขวา) พร้อมกับIntent.FLAG_ACTIVITY_NO_ANIMATION
ธงในเจตนาของคุณ
เช่น:
Intent myIntent = new Intent(context, MyActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(myIntent);
จากนั้นในกิจกรรมของคุณคุณจะต้องระบุภาพเคลื่อนไหวของคุณเอง
นอกจากนี้ยังใช้ได้กับ 1.5 API (ระดับ 3)